개발일지

자바_덩치_백준7568 본문

코딩테스트

자바_덩치_백준7568

딸기아사이레모네이드리프레셔 2024. 1. 8. 18:06
728x90

 

풀이 

  1. 이 문제를 풀 때, 몸무게와 키를 모두 비교하서 비교한 값보다 작다면 등수가 더 커지는 것을 구현했다. 이때, 덩치 등수는 k+1이기 때문에 결과값인 count의 변수를 1로 초기화 해주었다. 
  2. 몸무게와 키를 2차원 배열에 넣는다.
  3. 2차원 배열을 돌면서, 하나의 값과 나머지 값들을 비교한다. ex) A와 B,C,D,E를 비교한다.
  4. 비교된 값들이 비교한 값보다 크다면 count++를 해준다. ex) B가 A보다 몸무게,키 모두 크다면 count++를 해준다.
  5. count값을 담아 출력해준다. 
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 = new StringTokenizer(br.readLine(), " ");


        int n = Integer.parseInt(st.nextToken());
        StringBuilder sb = new StringBuilder();
        int[][] values = new int[n][2];  // 2차원 배열 선언
        int count = 1;

        for (int i = 0; i < n; i++) { // 2차원 배열 안에 몸무게/키 넣기
            st = new StringTokenizer(br.readLine(), " ");
            values[i][0] = Integer.parseInt(st.nextToken());
            values[i][1] = Integer.parseInt(st.nextToken());
        }

        for (int i = 0; i < values.length; i++) { // 첫번째 인덱스의 몸무게/키를 먼저 꺼낸다.
            int i1 = values[i][0];
            int i2 = values[i][1];
            for (int j = values.length - 1; j >= 0; j--) {// 마지막 인덱스의 몸무게/키를 꺼낸다.
                int i3 = values[j][0];
                int i4 = values[j][1];
                if (i1 < i3 && i2 < i4) {
                    count++;
                }
            }
            sb.append(count).append(" ");
            count = 1;
        }
        System.out.println(sb);
    }
}
728x90

'코딩테스트' 카테고리의 다른 글

자바_한수_백준  (0) 2024.01.08
자바_자릿수 더하기_Programmers  (0) 2023.03.16
자바_배열의 유사도_Programmers  (0) 2023.03.16
자바_배열 뒤집기_Programmers  (0) 2023.03.16
자바_배열 자르기_Programmers  (0) 2023.03.16
Comments