hahn

단계별로 풀어보기(정렬 - 나이순 정렬) 본문

코딩테스트 연습/백준(JAVA)

단계별로 풀어보기(정렬 - 나이순 정렬)

hahn 2021. 9. 17. 19:29
728x90
반응형

10814번: 나이순 정렬 (acmicpc.net)

 

10814번: 나이순 정렬

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

www.acmicpc.net

http://boj.kr/b6db9c55ee6b469d8cfee8638b19a626

 

공유 소스 보기

 

www.acmicpc.net

더보기
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;

class Main{
    
    public static void main(String[] args) throws IOException {        
        
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		
		int memberCount = Integer.parseInt(br.readLine()),
			key;
		
		StringTokenizer st;
		
		Map<Integer, ArrayList<String>> memberMap = new HashMap<Integer, ArrayList<String>>();
		
		
		for(int i = 0; i < memberCount; i++) {
			
			st = new StringTokenizer(br.readLine(), " ");
			
			key = Integer.parseInt(st.nextToken());
			
			if(memberMap.get(key) == null) memberMap.put(key, new ArrayList<String>());
			
			memberMap.get(key).add(st.nextToken());
			
		}
		
		for(Integer memberKey : memberMap.keySet()) {
			
			for(int i = 0; i < memberMap.get(memberKey).size(); i++) {
				
				bw.write(memberKey + " " +memberMap.get(memberKey).get(i) + "\n");
				
			}
			
		}
		
		bw.close();
        
    }
    
}

 

map과 list 이용해서 해결했다.

 

주제는 정렬인데 정렬을 사용 안 한 것 같네..

728x90
반응형