Notice
Recent Posts
Recent Comments
Link
Dev.baelanche
[백준 1713] 후보 추천하기 본문
반응형
규칙에 따라 구현하는 문제이다.
사진틀 정보를 담을 배열은 순서가 보장되고 동적크기를 가진 ArrayList 를 사용했다.
학생 번호와 추천수를 담은 객체를 사용하였고 번호에 따른 정렬을 내부에서 구현했다.
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
ArrayList<Student> list = new ArrayList<Student>();
for(int i=0; i<n; i++) list.add(new Student(0, 0));
int m = sc.nextInt();
while(m-->0) {
int rec = sc.nextInt();
boolean st = false;
for(int i=0; i<list.size(); i++)
if(list.get(i).no == rec) {
list.get(i).recommend++;
st = true;
}
if(st) continue;
list.add(new Student(rec, 1));
int min = 1001;
for(int i=0; i<list.size() - 1; i++)
if(list.get(i).recommend < min)
min = list.get(i).recommend;
for(int i=0; i<list.size() - 1; i++)
if(list.get(i).recommend == min) {
list.remove(i);
break;
}
}
Collections.sort(list);
for(int i=0; i<list.size(); i++)
if(list.get(i).no == 0) continue;
else System.out.print(list.get(i).no + " ");
}
static class Student implements Comparable<Student> {
int no;
int recommend;
Student(int no, int recommend) {
this.no = no;
this.recommend = recommend;
}
@Override
public int compareTo(Student s) {
if(this.no > s.no)
return 1; //오름차순
return -1;
}
}
}
반응형
'Data Structure & Algorithm > PS - JAVA' 카테고리의 다른 글
[백준 1780] 종이의 개수 (0) | 2019.05.03 |
---|---|
[백준 1629] 곱셈 (0) | 2019.05.03 |
[백준 2823] 유턴 싫어 (2) | 2019.04.27 |
[백준 9324] 진짜 메세지 (0) | 2019.04.27 |
[백준 3054] 피터팬 프레임 (0) | 2019.04.27 |
Comments