https://www.acmicpc.net/problem/7568
번역하다.
– arr(N)(2) 배열 생성 후 저장
– 이중 반복문을 이용하여 i번째 몸무게와 키를 j의 몸무게와 키와 같은 값과 비교하여 첫 번째 루프의 끝에서 카운트를 출력하는 모든 값이 더 큰 경우에만 카운트를 1씩 증가시키고, 반환시 1로 초기화
잘못된 접근.
– 예제 문제에서와 같이 1과 N이 존재합니다. 1, 2, 2, 2, 5 이지만 1만 있는 경우도 있을 수 있고 N이 존재하지 않는 경우도 신중히 고려해야 합니다.
– 용어에 대한 고민이 많이 필요합니다.
package algo;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class b_7568 {
public static void main(String() args) throws IOException {
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
int N = Integer.parseInt(br.readLine());
int w_h()() = new int(N)(2);
for(int i=0; i<N; i++) {
st = new StringTokenizer(br.readLine());
w_h(i)(0) = Integer.parseInt(st.nextToken());
w_h(i)(1) = Integer.parseInt(st.nextToken());
}
for(int i=0; i<N; i++) {
int count = 1;
for(int j=0; j<N; j++) {
// i의 weight, height와 j의 weight, height를 큰 값 비교
if(w_h(i)(0) < w_h(j)(0) && w_h(i)(1) < w_h(j)(1)) count++;
}
System.out.print(count + " ");
}
}
}
