-
PROGRAMMERES Level 1 2022 KAKAO TECH INTERNSHIP 성격 유형 검사하기 (JAVA 자바)PROGRAMMERS/KAKAO 2022. 8. 19. 14:12
import java.util.*; class Solution { public String solution(String[] survey, int[] choices) { String answer = ""; HashMap<Character, Integer> hm = new HashMap<>(); // null값 방지 초기화 hm.put('R', 0); hm.put('T', 0); hm.put('C', 0); hm.put('F', 0); hm.put('J', 0); hm.put('M', 0); hm.put('A', 0); hm.put('N', 0); for(int i=0; i<choices.length; i++){ // 4미만의 값은 문자열 중 첫번째 문자에 관여 if(choices[i]<4){ hm.put(survey[i].charAt(0), hm.getOrDefault(survey[i].charAt(0), 0) + (4 - choices[i])); // 4초과의 값은 문자열 중 두번째 문자에 관여 } else { hm.put(survey[i].charAt(1), hm.getOrDefault(survey[i].charAt(1), 0) + (choices[i] - 4)); } } // 더 크거나 같은 value를 가지고 있는 값의 KEY를 문자열에 더해줌 if(hm.get('R') >= hm.get('T')) answer += "R"; else answer += "T"; if(hm.get('C') >= hm.get('F')) answer += "C"; else answer += "F"; if(hm.get('J') >= hm.get('M')) answer += "J"; else answer += "M"; if(hm.get('A') >= hm.get('N')) answer += "A"; else answer += "N"; return answer; } }
getOrDefault(Object key, V DefaultValue)
-> key에 해당하는 value가 없으면 0, 있으면 그 value로 반환
-> hm.put(name, hm.getOrDefault(name, 0) + 1) 이렇게 값을 추가 할 때 덮어쓰기 가능
'PROGRAMMERS > KAKAO' 카테고리의 다른 글
[프로그래머스] [JAVA] [Level 2] [2018 KAKAO BLIND RECRUITMENT] [1차] 캐시 (0) 2022.09.24 PROGRAMMERES Level 1 2018 KAKAO BLIND RECRUITMENT [1차] 비밀지도 (JAVA 자바) (0) 2022.08.20 PROGRAMMERES Level 1 2019 카카오 개발자 겨울 인턴십 JAVA (0) 2022.07.21 PROGRAMMERES Level 1 2020 카카오 인턴십 키패드 누르기 JAVA (0) 2022.07.21 PROGRAMMERES Level 1 2021 카카오 채용연계형 인턴십 숫자 문자열과 영단어 JAVA (0) 2022.07.21