오늘 풀어 본 문제는 브루트 포스 알고리즘의 문제이다.
입력받는 사람(N명)의 몸무게와 키로 덩치의 등수를 출력하는 문제였고,
로직짜는 건 어렵지 않았다.
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(bf.readLine()); int[][] list = new int[N][2]; for(int i=0; i<N; i++){ String[] st = bf.readLine().split(" "); list[i][0] = Integer.parseInt(st[0]); list[i][1] = Integer.parseInt(st[1]); } int[] rank = new int[N]; for(int i=0; i<N; i++){ rank[i] = 1; } for(int i=0; i<N-1; i++){ for(int j=i+1; j<N; j++) { if (list[i][0] > list[j][0] && list[i][1] > list[j][1]){ rank[j]++; }else if(list[i][0] < list[j][0] && list[i][1] < list[j][1]){ rank[i]++; } } } // System.out.println(Arrays.toString(rank)); for(int i=0; i<N; i++){ System.out.print(rank[i] + " "); }
2차원 배열로 N의 갯수만큼 몸무게와 키를 입력하고,
자신보다 덩치가 큰 경우를 카운트해서 등수를 나타내는 배열(rank)에 값을 저장하여 출력하도록 구현해보았다.
백준을 풀다보면 입력값과 출력값을 예제와 동일하게 맞춰주어야 하는데,,
이 부분을 자꾸 놓치는 것 같다.