반응형
https://www.acmicpc.net/problem/7568
7568번: 덩치
우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩
www.acmicpc.net


풀이
브루트포스를 이용해서 푸는 문제다.
'각 사람의 덩치 등수는 몇 등인가?'
문제에서의 덩치가 큰 기준은 키와 몸무게가 모두 비교하는 대상보다 클 경우다.
키와 몸무게를 담을 수 있는 배열을 생성 후에 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 |