• Home

My Codegate

  • Home

백준 25325 학생 인기도 측정 자바 문제풀이

2023/12/15 Posted by Codegate Java No Comments

문제 링크

문제 내용을 간단하게 요약하자면 입력으로 받는 처음 두 줄은 이후에 받게 될 좋아하는 학생 수와, 사용된 전체 학생 리스트를 의미하고 그 아래의 입력들은 좋아하는 학생들인데 bbb ddd 이렇게 있으면 bbb가 ddd를 좋아하는 건가.. 이런 식으로 해석하면서 시간을 허비할 수 있는데 그냥 입력된 모든 학생들을 다 카운트해주면 되니, 정말 간단하게 생각하면 된다

마지막으로 계산이 끝나고 나면 인기도가 높은 순, 학생 이름 순으로 정렬하고 출력해주면 되는데

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;

public class Main{

  public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    int count = Integer.parseInt(br.readLine());
    String[] split = br.readLine().split(" ");
    HashMap<String, Integer> map = new HashMap<>();
    for (String s : split) {
      map.put(s, 0);
    }

    ArrayList<String> list = new ArrayList<>();
    for (int i = 0; i < count; i++) {
      list.add(br.readLine());
    }

    for (String s : list) {
      String[] popArr = s.split(" ");
      for (String value : popArr) {
        map.put(value, map.get(value) + 1);
      }
    }

    List<Entry<String, Integer>> list2 = new ArrayList<>(map.entrySet());

    list2.sort((entry1, entry2) -> {
      int valueCompare = entry2.getValue().compareTo(entry1.getValue());
      if (valueCompare == 0) {
        return entry1.getKey().compareTo(entry2.getKey());
      }
      return valueCompare;
    });

    for (Map.Entry<String, Integer> entry : list2) {
      System.out.println(entry.getKey() + " " + entry.getValue());
    }

  }

}

문제를 풀어보면 Map에 입력된 학생들을 더해주며 모두 넣어준 뒤 인기도와 이름 순으로 정렬시킨 뒤 출력해주면 끝이 난다

No Comments
0

Leave a Reply Cancel Reply

Introduction

My Codegate

Latest Posts

  • Google Search Console API 연동방법
  • 인텔리제이 Gradle Dependency 최신 버전 보는 방법
  • Wallet-Tracker 개발일지
  • Moralis API 자바로 호출방법
  • IntelliJ Commit 후 Push 따로 하는 방법

Categories

  • My Project (4)
  • Java (42)
  • Algorithm (161)
    • Java (152)
    • Algorithm Knowledge (3)
    • Algorithm site usage (6)
  • Vue.js (1)
  • Spring (4)
  • Docker (2)
  • IntelliJ (20)
  • Uncategorized (7)

Recent Comments

  • Codegate on Hello world!
  • A WordPress Commenter on Hello world!

© 2025 — mycodegate.com

Prev Next