백준 할리갈리 문제를 풀었다.
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = Integer.parseInt(sc.nextLine());
Map<String, Integer> hm = new HashMap<>();
// 문자열 입력 받기
for (int i = 0; i < n; i++) {
String s = sc.nextLine();
String[] sArr = s.split(" ");
hm.put(sArr[0], hm.getOrDefault(sArr[0], 0) + Integer.parseInt(sArr[1]));
}
String answer = "NO";
for(Map.Entry<String, Integer> e : hm.entrySet()) {
if(e.getValue().equals(5)) {
answer = "YES";
break;
}
}
// 결과 출력
System.out.println(answer);
}
}
아직 비기너 문제라서 시간복잡도까지는 고려안해도 거의 다 풀 수 있는 것 같다. 문자열 입력 받는 코드가 늘어서 그렇지 hashmap에 getOrDefault() 메소드를 사용 할 수 있으면 쉽게 풀 수 있는 문제였다.
해시맵 반복문 작성하는 부분이 아직 잘 안외워져서 계속 검색해보는데
Map.Entry<키 타입, 값 타입> 변수명 : 해시맵변수명.entrySet() 으로 작성해야 한다.
'코딩테스트 > TIL' 카테고리의 다른 글
[99클럽] 9일차 문제: 전주 듣고 노래 맞히기 (0) | 2025.01.23 |
---|---|
[99클럽] 8일차 문제: 아 맞다 마늘 (1) | 2025.01.22 |
[99클럽] 5일차 문제: 세로읽기 (1) | 2025.01.17 |
[99클럽] 4일차 문제: 뜨거운 붕어빵 (0) | 2025.01.16 |
[99클럽] 3일차 문제: 문자열 반복 (0) | 2025.01.15 |
댓글