Java/Java 알고리즘

백준 1159번 농구 경기 JAVA 구현해보기

kimc 2022. 2. 2. 13:05

```

백준 1159번 농구 경기 JAVA 구현해보기

```

이번 글을 통해 배워갈 내용

  1.  백준 1159번 풀이

https://www.acmicpc.net/problem/1159

 

1159번: 농구 경기

상근이는 농구의 세계에서 점차 영향력을 넓혀가고 있다. 처음에 그는 농구 경기를 좋아하는 사람이었다. 농구에 대한 열정은 그를 막을 수 없었고, 결국 상근이는 농구장을 청소하는 일을 시작

www.acmicpc.net

 

 

백준 1159번 농구 경기는 

난이도 브론즈 등급의 문제로서

 

N개의 영어 소문자 이름을 받았을 때

앞글자가 같은 선수들이 5명 이상일 경우

해당되는 앞글자를 사전 순으로 출력하고

없다면

PREDAJA를 출력하면 되는 문제입니다.

 


30분 정도 위에 링크를 방문하셔서 풀어보시고

안 풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.


영문 알파벳을 저장하는 배열을 만들고

해당되는 알파벳이면 해당 배열의 숫자를 증가합니다.

그리고 해당되는 배열에 5개 이상인 값에 해당되는 알파벳을 출력해주면 됩니다.

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) throws IOException {
        final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int playerNum = Integer.parseInt(br.readLine());
        List<String> players = new ArrayList<>();

        for (int i = 0; i < playerNum; i++) {
            players.add(br.readLine());
        }

        char[] charArr = new char[26];
        for (String player : players) {
            int chIdx = player.charAt(0) - 'a';
            charArr[chIdx]++;
        }

        StringBuilder ans = new StringBuilder();
        for (int i = 0; i < 26; i++) {
            if(charArr[i] >= 5){
                ans.append((char) (i + 'a'));
            }
        }

        if(ans.toString().equals("")){
            ans = new StringBuilder("PREDAJA");
        }

        System.out.println(ans);

        br.close();
    }

}

 

 

읽어주셔서 감사합니다

 

무엇인가 얻어가셨기를 바라며

 

오늘도 즐거운 코딩 하시길 바랍니다 ~ :)

 


 

728x90