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

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분 고민해서 결국은 풀었는데 생각보다 간단했다. 나보다 큰 애의 수만 구해서 등수로 배치하면 되더라 !

문제에 답이 있었다.

나보다 큰 애만 셀 생각빨리 했으면 너무 간단했음

java
닫기
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