728x90
7568번: 덩치
우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩
www.acmicpc.net
실버 문제이지만 그냥 골라봤다 !
나는 처음에 들어온 키랑 몸무게를 Arrays.sort()로 근데 return값을 내림차순 정렬해서 순위를 매길려ㅕ고 했는데 출력결과가 원본의 데이터 순서에 맞게 등수를 출력하는 것이었다 ! 새벽에 한 시간 3/11에 1시간 20분 고민해서 결국은 풀었는데 생각보다 간단했다. 나보다 큰 애의 수만 구해서 등수로 배치하면 되더라 !
문제에 답이 있었다.
나보다 큰 애만 셀 생각빨리 했으면 너무 간단했음
package algorithm;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main{
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int num = Integer.parseInt(br.readLine());
int arr[][] = new int[num][2];
int count = 0; //나보다 큰 애
int rank[] = new int[num];
StringTokenizer st;
for(int i=0;i<num;i++) {
st = new StringTokenizer(br.readLine());
arr[i][0] = Integer.parseInt(st.nextToken());
arr[i][1] = Integer.parseInt(st.nextToken());
}
for(int i=0;i<num;i++) {
for(int j=0;j<num;j++) {
if(arr[i][0] < arr[j][0] && arr[i][1] < arr[j][1]) {
count++; //나보다 큰 애의 수
}
else rank[i] = 1;
}
rank[i] = count+1; //같은 등수일 때
count = 0;
}
for(int i=0;i<num;i++) {
System.out.print(rank[i]+" ");
}
}
}
728x90
'알고리즘 > 백준' 카테고리의 다른 글
10250번 문제 : ACM호텔 (0) | 2023.03.13 |
---|---|
10814번 문제 : 나이순 정렬 (0) | 2023.03.12 |
4153번 문제 : 직각삼각형 (0) | 2023.03.10 |
2292번 문제 : 벌집 (0) | 2023.03.08 |
2231번 문제 : 분해합 (0) | 2023.03.07 |