[BOJ] 10814 나이순 정렬 JAVA

popolarburr·2023년 3월 5일
0
post-thumbnail

- 문제



- 풀이



import java.util.Scanner;
import java.util.Arrays;
import java.util.Comparator;
 
public class Main {
	public static void main(String[] args) {		
 
		Scanner in = new Scanner(System.in);
		
		int N = in.nextInt();
        
		Person[] p = new Person[N];
		
 
		for(int i = 0; i < N; i++) {
			p[i] = new Person(in.nextInt(), in.next());
		}
 
		
		Arrays.sort(p, new Comparator<Person>() {
			@Override
			public int compare(Person s1, Person s2) {
				return s1.age - s2.age;
			}
			
		});
 
		StringBuilder sb = new StringBuilder();
		
		for(int i = 0; i < N; i++) {
			sb.append(p[i]);
		}
        
		System.out.println(sb);
		
	}
    
	public static class Person {
		int age;
		String name;
        
		public Person(int age, String name) {
			this.age = age;
			this.name = name;
		}
        
		@Override
		public String toString() {
			return age + " " + name + "\n";
		}
	}
 
}

- 정리

문제를 보고 입력의 형태가 다른 것을 보고 구조체(클래스)로 풀면 되겠다 싶었다. 그래서 전에 풀었던 문제에서 예습해서 그런지 어렵지 않았던 문제. 또한 Arrays.sort()안에 람다식으로 사용하는 법을 연습하자!



[링크] : 깃허브

profile
차곡차곡

0개의 댓글