CodingTest
[CodingTest] 백준 7568번
동그리담
2024. 4. 9. 11:21
들어가며.
코딩테스트 연습을 위해 백준 사이트를 이용하기로 결정했습니다.
백준을 선택한 이유로는 티어 시스템의 존재로 문제를 풀며 티어상승의 재미도 느낄 수 있고 문제 탭 안에
CLASS를 이용해 난이도 별로 정리돼어있기에 입문하기도 편했습니다.
5일차 개인적으로 문제를 풀며 Rank 실버5를 달성하며 앞으로 푼 문제들을 클래스가 아닌 블로그에 정리하는게 좋을 것 같다 생각하여 오늘부터 다른 공부와 코딩테스트를 병행하며 블로그에 정리하려 합니다.
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
LinkedHashMap<Human,Integer> map = new LinkedHashMap<>();
int n = sc.nextInt();
ArrayList<Human> humans = new ArrayList<>();
int count;
for (int i = 0; i < n; i++) {
int kg=sc.nextInt();
int cm=sc.nextInt();
humans.add(new Human(kg,cm));
}
for (int i = 0; i < n; i++) {
count=1;
for (int j = 0; j < n; j++) {
if(ranked(humans.get(i),humans.get(j)))
count++;
}
map.put(humans.get(i),count);
}
for(Map.Entry<Human,Integer> entry:map.entrySet()){
System.out.print(entry.getValue()+" ");
}
}
static class Human{
private int cm;
private int kg;
public Human(int cm, int kg){
this.cm = cm;
this.kg = kg;
}
public int getCm() {
return cm;
}
public int getKg() {
return kg;
}
@Override
public String toString() {
return getKg() + " " + getCm();
}
}
static boolean ranked(Human h1, Human h2){
return h1.getCm()<h2.getCm()&&h1.getKg()<h2.getKg();
}
}