목록강의 (57)
개발자는 기록이 답이다

6. 장난꾸러기 예시 입력 1 9 120 125 152 130 135 135 143 127 160 예시 출력 1 3 8 힌트 출력해설 : 키 정보 152가 철수이고, 127이 철수 짝꿍입니다. 나는 해당 문제를 선택정렬해서 어렵게 풀려고 했었다....그냥 깊은 복사해서 비교하면될 것을.... 강의 풀이(Time: 170ms Memory: 27MB Lang: Java) import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner; public class Main { public ArrayList solution(int n, int[] arr) { ArrayList answer = new ArrayList(); int[] tmp ..

5. 중복 확인 예시 입력 1 8 20 25 52 30 39 33 43 33 예시 출력 1 D 내가 푼 풀이 1 (Time: 790ms Memory: 34MB) 나는 정렬도 HashMap도 안쓰고 그냥 간단하게 풀었다. 시간복잡도가 O(n^2)이다. 하지만 지금 정렬파트를 보고 있으니 정렬로도 연습을 해야 한다. import java.util.Scanner; public class Main { public String solution(int n, int[] arr) { String answer = "U"; for (int i = 0; i < n-1 ; i++) { int tmp = arr[i]; for (int j = i+1; j < n ; j++) { if (tmp == arr[j]) return "D..

3. 삽입 정렬 예시 입력 1 6 11 7 5 6 10 9 예시 출력 1 5 6 7 9 10 11 삽입정렬 삽입 정렬(Insertion Sort)은 간단하고 효율적인 정렬 알고리즘 중 하나입니다. 이 알고리즘은 배열을 정렬된 부분과 정렬되지 않은 부분으로 나누고, 정렬되지 않은 부분의 원소를 하나씩 적절한 위치에 삽입하여 정렬합니다. 삽입 정렬은 데이터의 양이 적을 때나 이미 정렬된 부분이 많을 때 효과적입니다. 1. 배열의 첫 번째 원소는 정렬된 부분으로 간주합니다. 2. 두 번째 원소부터 시작하여 현재 원소를 정렬된 부분의 적절한 위치에 삽입합니다. 3. 현재 원소를 정렬된 부분의 적절한 위치에 삽입하면서 다른 원소들을 오른쪽으로 이동시킵니다. 4. 배열의 끝까지 이동한 후, 모든 원소가 정렬됩니다...

2. 버블정렬 예시 입력 1 6 13 5 11 7 23 15 예시 출력 1 5 7 11 13 15 23 버블정렬 버블 정렬(Bubble Sort)은 간단하고 이해하기 쉬운 정렬 알고리즘 중 하나입니다. 이 알고리즘은 인접한 두 원소를 비교하면서 필요한 경우 위치를 교환하여 배열을 정렬합니다. 버블 정렬은 배열을 왼쪽에서 오른쪽으로 순회하면서 큰 값을 오른쪽 끝으로 "버블링" 시키는 방식으로 동작합니다. 버블 정렬의 작동 과정은 다음과 같습니다: 1. 배열의 첫 번째 원소부터 시작하여 현재 원소와 다음 원소를 비교합니다. 2. 만약 현재 원소가 다음 원소보다 크다면 두 원소의 위치를 교환합니다. 3. 배열의 끝까지 이동한 후, 가장 큰 원소가 마지막 위치로 이동됩니다. 4. 위의 과정을 다시 반복하면서 두..