https://www.acmicpc.net/problem/27160
문제
해결
문제분석
- 총 4종류의 과일이 최대 5개까지 그려진 카드이며, 과일의 종류는 딸기, 바나나, 라임, 자두이다.
- 펼쳐진 카드 중 한 과일의 종류 이상의 과일이 정확히 5개 있는 경우 종을 누른다.
- 입력값은 펼쳐진 카드를 의미하며 과일의 종류와 그려진 개수를 나타낸다.
- 이때, 종을 눌러야한다면 YES, 아니면 NO를 출력한다.
문제풀이
- 주어진 입력값을 **map**을 이용해 (과일종류, 그려진 개수) 방식으로 과일 별 그려진 총개수를 구한다.
- 그런 다음 map의 값을 순회하며 값이 5이면 YES를 출력하고 return 시켜 프로그램을 종료한다.
- 루프가 끝났는데도 종료되지 않았다면 종을 치지 않는다는 것이므로 NO를 출력한다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
Map<String, Integer> countMap = new HashMap<>();
for (int i = 0; i < n; i++) {
String[] parts = br.readLine().split(" ");
countMap.put(parts[0], Integer.valueOf(countMap.getOrDefault(parts[0], 0)) + Integer.parseInt(parts[1]));
}
for (Integer value : countMap.values()) {
if(value == 5) {
System.out.printf("YES");
return;
}
}
System.out.printf("NO");
}
}
메모리 시간
51800 | 436 |
'코딩테스트 > 백준' 카테고리의 다른 글
[코딩테스트] 백준 12605번 단어순서 뒤집기 - JAVA (0) | 2024.11.28 |
---|---|
[코딩테스트] 백준 17608번 막대기 - JAVA (0) | 2024.11.28 |
[코딩테스트] 백준 25993번: 근무 지옥에 빠진 푸앙이(small) - 자바(JAVA) (0) | 2024.11.16 |
[코딩테스트] 백준 29701 번: 모스부호 - 자바(JAVA) (0) | 2024.11.16 |
[코딩테스트] 백준 2605: 줄 세우기 - 자바(JAVA) (0) | 2024.11.16 |