공log/[P&B]

[P&B] #24 PreCodingTest

ming_OoO 2023. 8. 11. 11:03
728x90

프리코딩테스트 2-4

 

2) Number Pick

오답 노트 코드

import java.util.*;

public class Solution {
    public static int solution(int[] A, int K) {
        HashSet<Integer> combinations = new HashSet<>();

        // 모든 가능한 두 자리 숫자의 조합을 생성하여 집합에 추가
        for (int i = 0; i < A.length; i++) {
            for (int j = 0; j < A.length; j++) {
                if (i != j) {  // 중복을 허용하지 않음
                    int number = A[i] * 10 + A[j];
                    combinations.add(number);
                }
            }
        }

        // 집합을 내림차순으로 정렬
        List<Integer> sortedCombinations = new ArrayList<>(combinations);
        Collections.sort(sortedCombinations, Collections.reverseOrder());

        // K번째로 큰 숫자 반환
        return sortedCombinations.get(K - 1);
    }
}

 

문제 풀이 코멘트

set을 사용하여 중복없이 만들 수 있는 두자리 숫자를 모두 구한다음 리스트로 변환하여 내림차순으로 정렬해 K번째의 숫자를 반환하는 방식이다. 문제를 잘못읽고 예시만을 보고 두번째로 큰 수를 구하려고만 해서 점수를 만점못받은 기억이 있다. 예시로 문제를 이해하는 것도 좋지만 문제를 먼저 잘 읽어보는것도 중요하다고 배웠다...

728x90

'공log > [P&B]' 카테고리의 다른 글

[P&B] #26 Programmers  (0) 2023.08.13
[P&B] #25 Programmers  (0) 2023.08.12
[P&B] #23 PreCodingTest  (0) 2023.08.10
[P&B] #22 PreCodingTest  (0) 2023.08.09
[P&B] #21 PreCodingTest  (0) 2023.08.08