본문 바로가기
알고리즘/백준

7568번 문제 : 덩치

by son_i 2023. 3. 11.
728x90

7568번: 덩치 (acmicpc.net)

 

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]+" ");
		}
	}
}

 

'알고리즘 > 백준' 카테고리의 다른 글

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