728x90
반응형
https://www.acmicpc.net/problem/29730
해당 문제는 SW 개발자 취업&이직 정보공유방에서 시작된 데일리 인증을 아이디어로 제작되었습니다.
기본적인 데일리 인증 스터디에 그치지 않고, 나만의 규칙을 세워 진행하던 내용을 바탕으로 만들었습니다.
백준 문제 번호를 저장한 리스트와 다른 스터디 활동을 저장한 리스트를 따로 저장합니다.
그 후, 문제 번호 리스트는 "boj.kr/" 을 제외한 숫자들로만 저장하여 정렬합니다.
다른 스터디 활동의 경우, 문자열 길이 순으로 정렬 후 사전순으로 정렬합니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int t = Integer.parseInt(br.readLine());
ArrayList<Integer> a = new ArrayList<>();
ArrayList<Node> b = new ArrayList<>();
while(t --> 0) {
String s = br.readLine();
if(s.startsWith("boj.kr/")) {
a.add(Integer.parseInt(s.substring(7)));
}
else {
b.add(new Node(s));
}
}
Collections.sort(a);
Collections.sort(b);
StringBuilder sb = new StringBuilder();
for(Node n : b) {
sb.append(n.s).append("\n");
}
for(Integer s : a) {
sb.append("boj.kr/").append(s).append("\n");
}
System.out.print(sb);
}
}
class Node implements Comparable<Node>{
String s;
public Node(String s) {
this.s = s;
}
@Override
public int compareTo(Node o) {
if(o.s.length() == this.s.length()) {
return this.s.compareTo(o.s);
}
return this.s.length() - o.s.length();
}
}
728x90
반응형
'백준 > 출제한 문제들' 카테고리의 다른 글
[백준] 29791번 : 에르다 노바와 오리진 스킬 (0) | 2023.09.16 |
---|---|
[백준] 29790번 : 임스의 메이플컵 (0) | 2023.09.16 |
[백준] 28455번 : Union Maplestory (0) | 2023.08.21 |
[백준] 28454번 : Gift Expire Date (0) | 2023.08.21 |
[백준] 28453번 : Previous Level (0) | 2023.08.21 |
댓글