https://www.acmicpc.net/submit/10814/34317157
로그인
www.acmicpc.net
이 문제는 예전에 풀었던 좌표 정렬하기(https://yoloaeee.tistory.com/125)와 똑같은 문제라고 봐도 무방할 것 같다. 입력값과 정렬해야 되는 데이터 종류 개수만 달라졌을 뿐이다.
문제 및 입출력
코드
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Scanner;
public class Main
{
// 회원정보 클래스
static class member
{
int index;
int age;
String name;
member(int index, int age, String name)
{
this.index = index;
this.age = age;
this.name = name;
}
}
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
ArrayList<member> list = new ArrayList<member>();
int n = sc.nextInt();
for(int i=0; i<n; i++)
{
// 입력받는 좌표데이터를 리스트에 add
list.add(new member((i+1), sc.nextInt(), sc.next()));
}
// 정렬 실행
Collections.sort(list, new Comparator<member>()
{
@Override
public int compare(member o1, member o2)
{
// 나이 오름차순으로 정렬
if(o1.age!=o2.age)
{
return o1.age>o2.age?1:-1;
}
// 나이가 같으면 인덱스(가입한 순서)로 정렬
else
{
return o1.index>o2.index?1:-1;
}
}
});
for(member data : list)
{
System.out.println(data.age + " " + data.name);
}
}
}
'[ 다먹살 ] > - Coding' 카테고리의 다른 글
[백준] 10828 스택 (0) | 2021.10.14 |
---|---|
[백준] 10773 제로 (3) | 2021.10.13 |
[백준] 15652 N과 M(4) (0) | 2021.10.08 |
[백준] 15651 N과 M(3) (0) | 2021.10.08 |
[백준] 15650 N과 M(2) (0) | 2021.10.08 |
댓글