백준 1159 농구 경기

2022. 2. 25. 21:45·알고리즘/백준

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

 

1159번: 농구 경기

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

www.acmicpc.net

 

내 풀이 

2중포문도 들어가고, set도 쓰고 있어서 깔끔하진 못하나 풀긴 함. 

public class Boj1159_농구경기 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int n = Integer.parseInt(br.readLine());

        String[] names = new String[n];

        for (int i = 0; i < n; i++) {
            names[i] = br.readLine();
        }
        Arrays.sort(names); // 사전순 출력을 위한 정렬

        Set<Character> set = new LinkedHashSet<>(); // 중복허용하지 않음은 동일하나, add한 순서대로 값이 저장됨.

        for (String name : names) {
            char c = name.charAt(0);
            int cnt = 0;
            loop:for (int i = 0; i < n; i++) {
                char d = names[i].charAt(0);
                if (c == d) {
                    cnt++;
                }
                if (cnt == 5){
                    set.add(c);
                    break loop;
                }
            }
        }

        if (set.isEmpty()) {
            System.out.println("PREDAJA");
        } else {
            Iterator<Character> iter = set.iterator();
            while (iter.hasNext()) {
                System.out.print(iter.next());
            }
        }
    }
}

 

블로그 참고한 풀이

public class Boj1159_농구경기 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int[] alpha = new int[26];
        int n = Integer.parseInt(br.readLine());

        List<Character> list = new ArrayList<>();
        for (int i = 0; i < n; i++) {
            String s = br.readLine();
            int index = s.charAt(0) - 'a';
            alpha[index]++;

            if (alpha[index] >=5) {
                if (!list.contains((char)(index+97))) {
                    list.add((char) (index + 97));
                }
            }
        }

        if (list.size() == 0) {
            System.out.println("PREDAJA");
        } else {
            Collections.sort(list);
            for (int i = 0; i < list.size(); i++) {
                System.out.print(list.get(i));
            }
        }
        
    }
}

 

 

 

'알고리즘 > 백준' 카테고리의 다른 글

백준 2587 대표값2  (0) 2022.02.28
백준 11720 숫자의 합  (0) 2022.02.28
백준 2864 5와 6의 차이  (0) 2022.02.25
백준 1075 나누기  (0) 2022.02.24
백준 10807 개수 세기  (0) 2022.02.24
'알고리즘/백준' 카테고리의 다른 글
  • 백준 2587 대표값2
  • 백준 11720 숫자의 합
  • 백준 2864 5와 6의 차이
  • 백준 1075 나누기
고구마와 감자
고구마와 감자
Amor DevFati는 김연자-Amor Fati에 Development(개발)의 Dev 를 첨가하여 만든 이름
  • 고구마와 감자
    Amor DevFati(아모르 개발파티)
    고구마와 감자
  • 전체
    오늘
    어제
    • 분류 전체보기 (156)
      • Loopers 2기 (4)
      • 스프링 (5)
      • 알고리즘 (113)
        • 백준 (70)
        • 프로그래머스 (7)
        • 인프런_자바코테강의 (20)
        • 리트코드 (5)
        • 해커랭크 (0)
        • 코드업 (3)
        • 이것저것 (7)
      • 자바 (7)
      • GIT (0)
      • 파이썬 (1)
      • 개발이론 (4)
      • JPA (0)
      • 김영한 강의 (13)
        • 모든 개발자를 위한 HTTP 웹 기본 지식 (2)
        • 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 (6)
        • 스프링 핵심 원리 - 기본편 (5)
      • 일기 및 아무말 적기 (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    1247
    11966
    카이사르 암호
    더하기 3
    10178
    2921
    10409
    16673
    할로윈의 사탕
    백준
    그대로출력하기2
    조교는 새디스트야!!
    1598
    전투 드로이드 가격
    4458
    고려대학교에는 공식 와인이 있다
    5361
    꼬리를 무는 숫자 나열
    11023
    2의 제곱인가
    등장하지 않는 문자의 합
    남욱이의 닭장
    5988
    3059
    스프링 핵심 원리
    2857
    홀수일까 짝수일까
    첫 글자를 대문자로
    14656
    Mini Fantasy War
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
고구마와 감자
백준 1159 농구 경기
상단으로

티스토리툴바