728x90
반응형
프로그래머스
2022 KAKAO TECH INTERNSHIP > 성격 유형 검사하기 [Level.01]
https://school.programmers.co.kr/learn/courses/30/lessons/118666
자바 미들러(백준 실버, 프로그래머스 레벨2) 로 참여했다.
매일 백준으로만 풀다가 프로그래머스는 처음 사용해보았다.
- 오늘의 학습 키워드
- Map, HashMap
- 공부한 내용 본인의 언어로 정리하기
import java.util.HashMap; import java.util.Map; class Solution { public String solution(String[] survey, int[] choices) { Map<Character, Integer> score = new HashMap<>(); // 설문 항목별 점수 배열 for (int i=0; i<survey.length; i++) { int value = choices[i]; char ch; if (value > 0 && value < 4) { // 부정적인 답변인 경우 ch = survey[i].charAt(0); // 첫 번째 요소를 key로 설정 score.put(ch, score.getOrDefault(ch, 0) + 4 - value); // key의 value를 설정한다. } else if (value > 4) { // 긍정적인 답변인 경우 ch = survey[i].charAt(1); // 두 번째 요소를 key로 설정 score.put(ch, score.getOrDefault(ch, 0) + value - 4); // key의 value를 설정한다. } } return new StringBuilder() // 문자열 조합 .append(score.getOrDefault('R', 0) >= score.getOrDefault('T', 0) ? 'R' : 'T') .append(score.getOrDefault('C', 0) >= score.getOrDefault('F', 0) ? 'C' : 'F') .append(score.getOrDefault('J', 0) >= score.getOrDefault('M', 0) ? 'J' : 'M') .append(score.getOrDefault('A', 0) >= score.getOrDefault('N', 0) ? 'A' : 'N') .toString(); } }
- 오늘의 회고
- 새로 배운 점
- getOrDefault : 찾는 키가 존재한다면 찾는 키의 값을 반환하고 없다면 기본 값을 반환
- 회고
- Map 객체에 대해서 다시 공부할 수 있는 기회가 됐다.
어느 정도 메서드를 알고 있으면 좀 더 빠르게 풀수 있었을텐데 아쉽다.. ㅜ_ㅜ
처음에는 점수 하나씩 case를 다 정하려고 했었는데 문제가 풀리지 않아서 Map을 사용해보니 문제가 해결되었다!
그리고 분석에 시간을 너무 많이 잡아 먹어서 문제 분석도 좀 빠르게 할 필요성을 느꼈다...
- Map 객체에 대해서 다시 공부할 수 있는 기회가 됐다.
- 새로 배운 점
99클럽 1기를 수강하면서 작성한 글입니다.
728x90
반응형
'Blog > Education' 카테고리의 다른 글
99클럽 코테 스터디 6일차 TIL + Stack (0) | 2024.03.30 |
---|---|
99클럽 코테 스터디 5일차 TIL + Stack (0) | 2024.03.29 |
99클럽 코테 스터디 4일차 TIL + 패턴 분석 (0) | 2024.03.28 |
99클럽 코테 스터디 3일차 TIL + 람다식 (0) | 2024.03.27 |
99클럽 코테 스터디 2일차 TIL + Map put/get swap (0) | 2024.03.26 |
댓글