🔗 백준 7568 - 덩치
문제


알고리즘 분류
풀이
1. 배열 입력
- 인원 수 만큼 2차원 배열을 만들어 0번에 몸무게, 1번에 키 저장
int n = Integer.parseInt(br.readLine());
int[][] arr = new int[n][2];
for(int i = 0; i<n; i++){
st = new StringTokenizer(br.readLine());
arr[i][0] = Integer.parseInt(st.nextToken());
arr[i][1] = Integer.parseInt(st.nextToken());
}
2. 브루트포스
- 처음엔 1위로 시작
- 자신을 제외한 다른 사람들과 키, 몸무게를 비교하여 덩치가 작다면(몸무게, 키 모두 작다면) 등수를 뒤로 한 칸씩 미룬다.
for(int i = 0 ; i<n; i++){
int rank = 1;
for (int j = 0; j<n; j++){
if(i == j) continue;
else if(arr[i][0] < arr[j][0] && arr[i][1] < arr[j][1])
rank++;
}
sb.append(rank).append(" ");
}
전체 코드
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));
StringTokenizer st;
int n = Integer.parseInt(br.readLine());
int[][] arr = new int[n][2];
for(int i = 0; i<n; i++){
st = new StringTokenizer(br.readLine());
arr[i][0] = Integer.parseInt(st.nextToken());
arr[i][1] = Integer.parseInt(st.nextToken());
}
StringBuilder sb = new StringBuilder();
for(int i = 0 ; i<n; i++){
int rank = 1;
for (int j = 0; j<n; j++){
if(i == j) continue;
else if(arr[i][0] < arr[j][0] && arr[i][1] < arr[j][1])
rank++;
}
sb.append(rank).append(" ");
}
System.out.println(sb);
}
}