*solved.ac 기준 브론즈 2단계 문제
풀이)
플레이어의 이름을 입력받되, 맨 첫글자만 따온다.
char a = bf.readLine().charAt(0);
<플레이어의 이름 첫글자, 플레이어수> 를 저장하는 해시맵을 만든다.
해시맵 안에 입력받은 이름의 첫글자가 key 값으로 없을 경우 map.put('a', 1); 로 추가한다.
만약 key값으로 있다면 해당 키의 value 값을 1 추가한다.
해시맵 내 value 값이 5 이상인 모든 key를 string에 붙인다.
String str = "";
for (Entry<Character, Integer> entrySet : player.entrySet()) {
if(entrySet.getValue() >= 5) {
str += entrySet.getKey();
}
}
내 코드)
import java.util.*;
import java.io.*;
import java.util.Map.Entry;
public class Main {
public static void main(String[]args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
HashMap<Character, Integer> player = new HashMap();
int numb = Integer.parseInt(bf.readLine());
for(int i = 0 ; i<numb ; i++) {
char a = bf.readLine().charAt(0);
if (player.containsKey(a) == false) {
player.put(a, 1);
}else {
player.put(a, player.get(a) + 1);
}
}
String str = "";
for (Entry<Character, Integer> entrySet : player.entrySet()) {
if(entrySet.getValue() >= 5) {
str += entrySet.getKey();
}
}
if(str.equals(""))
System.out.println("PREDAJA");
else
System.out.println(str);
}
}