본문 바로가기

코딩테스트47

프로그래머스 Lv.0 전국 대회 선발 고사 프로그래머스 Lv.0 전국 대회 선발 고사 0번부터 n-1번까지 n명의 학생 중 등수가 높은 3명을 선발한다. 단, 전국 대회에 참여할 수 있는 학생만 포함시킨다. 각 학생들의 선발 고사 등수를 담은 정수 배열 rank[ ] 전국 대회 참여 가능 여부가 담긴 boolean 배열 attendance[ ]이 주어진다. 등수가 높은 순서대로 각각 a, b, c번이라고 할 때 10000 x a + 100 x b + c 를 return하라. **풀이 방법 TreeMap으로 key=순위, value=인덱스값을 저장한다. ※ TreeMap을 사용하면 기본적으로 오름차순 정렬이 된다. (왼쪽 노드-루트 노드-오른쪽 노드) TreeMap map = new TreeMap(); for (int i=0; i 2023. 7. 17.
프로그래머스 Lv.0 이진수 더하기 프로그래머스 Lv.0 이진수 더하기 이진수를 의미하는 두 개의 문자열 bin1과 bin2이 매개변수로 주어질 때, 두 이진수의 합을 return하라! bin1 bin2 result "10" "11" "101" "1001" "1111" "11000" 이진수를 더할 때 각 자리의 수가 모두 1이라면 앞 자리에 받아올림을 해줘야 한다. ** 풀이 방법 Integer.parseInt()는 두 번째 매개변수로 사용할 숫자 진법을 지정한다. int a = Integer.parseInt(bin1,2); int b = Integer.parseInt(bin2,2); 2진법을 사용해서 형변환 한 후 bin1과 bin2의 합을 구해서 다시 String으로 형변환 시켜주면 끝! (형변환 할 때 이진수 그대로 나와야 하므로 t.. 2023. 7. 15.
프로그래머스 Lv.0 외계행성의 나이 프로그래머스 Lv.0 외계행성의 나이 PROGRAMMERS-962 행성에서는 나이를 알파벳으로 표현한다. a는 0, b는 1, c는 3 ... 예를 들어 23살은 cd, 51살은 fb로 표현한다. 나이 age가 매개변수로 주어질 때 PROGRAMMERS-962식 나이를 return하라! ** 풀이 방법 a=0, b=1, c=2, ... 저장되는 패턴을 보니 배열의 인덱스를 떠올렸다. 모든 소문자 알파벳을 담은 char배열을 만든다. char[] alpha = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}; age를 문자열로 변환한다. String age1 = In.. 2023. 7. 14.
프로그래머스 Lv.0 한 번만 등장한 문자 프로그래머스 Lv.0 한 번만 등장한 문자 문자열 s가 매개변수로 주어지고, s에서 한 번만 등장한 문자를 사전 순으로 정렬해서 return하라! 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return한다. (ex) s result "abcabcadc" "d" ** 풀이 방법 문자열 s를 ArrayList에 저장하고, list를 오름차순으로 정렬한다. 오름차순 : ArrayLIst이름.sort(Comparator.naturalOrder()); 내림차순 : ArrayLIst이름.sort(Comparator.reverseOrder()); List list = new ArrayList(); for (int i = 0; i < s.length(); i++) { char ch = s.charAt(i); li.. 2023. 7. 13.
반응형