성능 요약
메모리: 77.5 MB, 시간: 0.58 ms
구분
코딩테스트 연습 > 2022 KAKAO TECH INTERNSHIP
Answer Code1(23.01.29)
import java.util.*;
class Solution {
private Map<Character, Integer> typeMap = new HashMap();
public String solution(String[] survey, int[] choices) {
StringBuilder sb = new StringBuilder();
int[] score = {0, 3, 2, 1, 0, 1, 2, 3};
char[] types = {'R', 'T', 'C', 'F', 'J', 'M', 'A', 'N'};
for (int i=0; i<types.length; i++)
typeMap.put(types[i], 0);
for (int i = 0; i < survey.length; i++) {
int pos = 0;
if (choices[i] >= 5) pos = 1;
typeMap.put(survey[i].charAt(pos), typeMap.get(survey[i].charAt(pos))+score[choices[i]]);
}
for (int i=0; i<types.length; i+=2) {
if (typeMap.get(types[i]) >= typeMap.get(types[i+1]))
sb.append(types[i]);
else
sb.append(types[i+1]);
}
return sb.toString();
}
}
Review
-
2번 풀었지만, 매번 알고리즘이 생각나지 않았다.
-
해당 문제는 이후에 추가적으로 풀면서 조금 더 나은 풀이 방식이 있다면 추가 업로드를 할 예정이다.