반응형
https://www.acmicpc.net/problem/7568
풀이
브루트포스를 이용해서 푸는 문제다.
'각 사람의 덩치 등수는 몇 등인가?'
문제에서의 덩치가 큰 기준은 키와 몸무게가 모두 비교하는 대상보다 클 경우다.
키와 몸무게를 담을 수 있는 배열을 생성 후에 2중 for문을 이용해서 본인을 제외한 모두와 비교하여 rank 값을 출력해줬다.
문제에서 rank는 본인보다 덩치가 큰 사람 수 + 1 이기 때문에 rank 변수는 1로 초기화해주면 된다.
<최종코드>
import java.io.*;
import java.util.*;
public class Main {
public static class Body {
int w, h;
public Body (int w, int h) {
this.w = w;
this.h = h;
}
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
int N = Integer.parseInt(br.readLine()); // 인원
Body[] body = new Body[N];
for (int i=0; i<N; i++) {
st = new StringTokenizer(br.readLine());
int w = Integer.parseInt(st.nextToken());
int h = Integer.parseInt(st.nextToken());
body[i] = new Body(w, h);
}
int[] ans = new int[N];
for (int i=0; i<N; i++) {
int rank = 1;
Body b = body[i];
for (int j=0; j<N; j++) {
if (i == j) continue;
if (b.w < body[j].w && b.h < body[j].h) {
rank++;
}
}
ans[i] = rank;
}
for (int num : ans) {
System.out.print(num + " ");
}
}
}
반응형
'알고리즘 > 구현 & 그리디 & 브루트포스' 카테고리의 다른 글
[백준]JAVA - 11067번: 모노톤길 (0) | 2023.02.24 |
---|---|
[백준]JAVA - 14503번: 로봇 청소기 (0) | 2023.02.16 |
[백준]JAVA - 2116번: 주사위 쌓기 (0) | 2023.01.31 |
[백준]JAVA - 2564번: 경비원 (0) | 2023.01.20 |
[백준]JAVA - 2239번: 스도쿠 (0) | 2023.01.17 |