[백준 30647] 점수 관리 [Java]
2025. 7. 23. 21:34ㆍPS 풀이/Baekjoon Online Judge
728x90
문제
30647번: 점수 관리
boj.ma
풀이
문제 요약
참가자 중 점수, 이름 순으로 동점자를 고려해서 순위를 매긴 후 순위 공개를 선택한 참가자들의 목록만 출력하자.
아이디어
입력 데이터가 까다롭다. 정규표현식을 사용해 파싱 후 지문에서 요구하는 대로 구현하자.
String[] tokens = br.readLine().replaceAll("[\\\\[{\\"}\\\\]]", "").split(",");
입력받은 참가자 정보에 대해 점수, 이름 순으로 정렬 후 순위를 비공개한 참가자를 고려해서 순위를 기입하자.
class People implements Comparable<People> {
.
.
.
@Override
public int compareTo(People o) {
if (this.score != o.score) {
return Integer.compare(o.score, this.score);
}
return this.name.compareTo(o.name);
}
}
// Solve
String name = tokens[0].split(":")[1];
int score = Integer.parseInt(tokens[1].split(":")[1]);
int isHidden = Integer.parseInt(tokens[2].split(":")[1]);
list.add(new People(name, score, isHidden));
}
풀이시간
20분
소스코드
https://github.com/rogi-rogi/problem-solving/blob/main/baekjoon-online-judge/easy/30647.java
problem-solving/baekjoon-online-judge/easy/30647.java at main · rogi-rogi/problem-solving
Daily Problem Solving Challenges. Contribute to rogi-rogi/problem-solving development by creating an account on GitHub.
github.com
728x90
'PS 풀이 > Baekjoon Online Judge' 카테고리의 다른 글
| [백준 31476] :blob_twintail_thinking: [Java] (2) | 2025.07.24 |
|---|---|
| [백준 10157] 자리배정 [Java] (2) | 2025.07.24 |
| [백준 33690] 포린드롬 [Java] (1) | 2025.07.22 |
| [백준 02730] 오늘은 OS 숙제 제출일 [Java] (2) | 2025.07.21 |
| [백준 18243] Small World Network [Java] (1) | 2025.07.20 |