ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [7586번] 덩치 - Java
    알고리즘 연습 2021. 11. 22. 21:13

     

    1. 배운점

    - StringBuilder를 활용할 수 있다.

    - 2차원 배열과 반복문을 활용해 값을 비교할 수 있다.

     

    2. 개선할 점

     

    3. 궁금한 점

    - 2차원 배열을 쓰지 않고 풀 수 있는 방법은 없을까?

     

    4. 풀이

    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.util.StringTokenizer;
    
    public class Main {
    
    	public static void main(String[] args) throws Exception {
    		
    		// import java.io.BufferedReader
    		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    		
    		// 사람 수 받아주기
    		int people = Integer.parseInt(br.readLine());
    
    		// 키, 몸무게 값을 저장할 2차원 배열 생성
    		int [][] array = new int [people][2];
    
    		// StringTokenizer를 활용해 배열 값 입력
    		for(int i = 0; i < people; i++) {
    
    			StringTokenizer st = new StringTokenizer(br.readLine(), " ");
    			array[i][0] = Integer.parseInt(st.nextToken());
    			array[i][1] = Integer.parseInt(st.nextToken());
    
    		}
    		
    		// import StringBuilder
    		StringBuilder sb = new StringBuilder();
    		
    		// 대소비교가 확실하게 될 때에만 rank를 1씩 올려준다.
    		// 그렇게 한다면 등수가 같은 사람은 자연스럽게 같은 rank 값을 갖게 된다.
    		for(int i = 0; i < people; i++) {
    			
    			int rank = 1;
    			
    			for(int j = 0; j < people; j++) {
    				
    				if(i == j) continue;
    				
    				if(array[i][0] < array[j][0] && array[i][1] < array[j][1]) {
    					rank++;
    				}
    			}
    			sb.append(rank + " ");
    		}
    		// 결과 출력
    		System.out.println(sb);
    	}
    }

     

    '알고리즘 연습' 카테고리의 다른 글

    [11319번] Count Me In - Java  (0) 2022.01.06
    [1436번] 영화감독 슘 - Java  (0) 2021.11.23
    [2750번] 수 정렬하기 -Java  (0) 2021.11.19
    [1002번] 터렛 - Java  (0) 2021.11.19
    [2231번] 분해합 - Java  (0) 2021.11.18
Designed by Tistory.