백준 1159

hong030·2023년 2월 4일
0

*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);
	}
}

profile
자바 주력, 프론트 공부 중인 초보 개발자. / https://github.com/hongjaewonP

0개의 댓글