728x90
인프런의 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의를 수강하며 예습 풀이 코드, 강의 수강 후 복습 풀이 코드를 정리하고 있습니다.
- 문제 링크 : https://cote.inflearn.com/contest/10/problem/06-05
- 문제 설명 : 배열에 중복되는 숫자가 있는지 확인하는 문제
예습 풀이
- List의 contains 메서드를 사용해서 중복을 발견
//중복 확인
public class Main6_5 {
public static char solution(int n, int[] arr) {
List<Integer> list = new ArrayList<>();
for (int i = 0; i < n; i++) {
if (list.contains(arr[i])) {
return 'D';
} else {
list.add(arr[i]);
}
}
return 'U';
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int[] arr = new int[n];
StringTokenizer st = new StringTokenizer(br.readLine());
for (int i = 0; st.hasMoreTokens(); i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
System.out.println(solution2(n, arr));
}
}
강의 풀이
- 배열을 정렬하여 인접한 원소와의 비교를 통해 중복을 발견 -> 인접한 원소가 같으면 중복
//정렬을 사용하여 풀이
public static char solution2(int n, int[] arr) {
Arrays.sort(arr);
for (int i = 0; i < n - 1; i++) {
if (arr[i] == arr[i + 1]) {
return 'D';
}
}
return 'U';
}
'알고리즘 문제풀이 > 인프런' 카테고리의 다른 글
[알고리즘] 6-9 뮤직비디오 - 결정 알고리즘, 이진 탐색(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.06.12 |
---|---|
[알고리즘] 6-7 좌표 정렬(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.06.09 |
[알고리즘] 6-4 LRU(캐시, 카카오 변형)(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.06.08 |
[알고리즘] 6-2 버블 정렬 (인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.06.07 |
[알고리즘] 6-3 삽입 정렬 (인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.06.07 |
댓글