-
[Baekjoon Online Judge] 1169번: 농구 경기문제 풀이/Baekjoon Online Judge 2021. 2. 19. 23:27
1159번: 농구 경기
상근이는 농구의 세계에서 점차 영향력을 넓혀가고 있다. 처음에 그는 농구 경기를 좋아하는 사람이었다. 농구에 대한 열정은 그를 막을 수 없었고, 결국 상근이는 농구장을 청소하는 일을 시작
www.acmicpc.net
요구사항
- 국가대표팀의 감독이 된 이후에 상근이는 매우 게을러졌다. 그는 선수의 이름을 기억하지 못하고, 각 선수의 능력도 알지 못한다. 따라서, 누가 선발인지 기억하기 쉽게 하기 위해 성의 첫 글자가 같은 선수 5명을 선발하려고 한다. 만약, 성의 첫 글자가 같은 선수가 5명보다 적다면, 상근이는 내일 있을 친선 경기를 기권하려고 한다.
입력
- 첫째 줄에 선수의 수 N (1 ≤ N ≤ 150)이 주어진다. 다음 N개 줄에는 각 선수의 성이 주어진다. (성은 알파벳 소문자로만 이루어져 있고, 최대 30글자이다)
출력
- 상근이가 선수 다섯 명을 선발할 수 없는 경우에는 "PREDAJA" (따옴표 없이)를 출력한다. PREDAJA는 크로아티아어로 항복을 의미한다. 선발할 수 있는 경우에는 가능한 성의 첫 글자를 사전순으로 공백없이 모두 출력한다.
Map으로 간단하게 해결하였지만 일반 Character 배열을 사용하여도 쉽게 해결할 수 있을 것 같다.
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.HashMap; import java.util.Map; public class Baekjoon1159 { public static void main(String[] args) throws IOException { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(System.out)); int n = Integer.parseInt(bufferedReader.readLine()); Map<Character, Integer> squad = new HashMap<>(); for (int i = 0; i < n; i++) { String player = bufferedReader.readLine(); Character playerC = player.charAt(0); if (squad.containsKey(playerC)) squad.put(playerC, squad.get(player.charAt(0)) + 1); else squad.put(playerC, 1); } StringBuilder stringBuilder = new StringBuilder(); for (Character player : squad.keySet()) { if (squad.get(player) >= 5) stringBuilder.append(player); } if (stringBuilder.toString().equals("")) System.out.println("PREDAJA"); else System.out.println(stringBuilder.toString()); bufferedReader.close(); } }
'문제 풀이 > Baekjoon Online Judge' 카테고리의 다른 글
[Baekjoon Online Judge] 1357번: 뒤집힌 덧셈 (0) 2021.02.21 [Baekjoon Online Judge] 1987번: 알파벳 (0) 2021.02.21 [Baekjoon Online Judge] 11365번: !밀비 급일 (0) 2021.02.18 [Baekjoon Online Judge] 10987번: 모음의 개수 (0) 2021.02.18 [Baekjoon Online Judge] 1259번: 팰린드롬수 (0) 2021.02.18