티스토리 뷰

 

 

10814번: 나이순 정렬

온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을

www.acmicpc.net

 

풀이

  • 최신순으로 끼워넣으려니 복잡해서 단순하게 생각했다.
  • Queue<String> members[201] 배열을 선언하고 나이만 뽑아서 member[age]에 쏙쏙 넣은 후 마지막에 큐를 돌리면서 출력하면 끝
  • 실버 문제들은 단순하게 푸는게 최고인 것 같다.

 

 

 

코드

import java.io.*;
import java.util.*;

public class Main {
    static int N;
    static Queue<String>[] members;

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        StringTokenizer st;

        N = Integer.parseInt(br.readLine());
        members = new LinkedList[201];
        for (int i = 1; i <= 200; i++)
            members[i] = new LinkedList<>();

        for (int i = 0; i < N; i++) {
            String str = br.readLine();
            st = new StringTokenizer(str);
            int age = Integer.parseInt(st.nextToken());
            members[age].offer(str);
        }

        for (int i = 1; i <= 200; i++) {
         while(!members[i].isEmpty())
             bw.write(members[i].poll() + "\n");
        }
        br.close();
        bw.close();
    }
}

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함