https://www.acmicpc.net/problem/7568
C
#include <stdio.h>
struct people{ //구조체 정의
int weight; //구조체 멤버1 몸무게
int height; //구조체 멤버2 키
int rank; //구조체 멤버3 순위
};
int main() {
int n = 0; //사람 수
struct people list[50]; //n은 최대 50이므로
//1.사람 수 입력
scanf("%d", &n);
for (int i = 0; i < n; i++) {
//2-1.사람 수만큼 몸무게,키 입력받기
scanf("%d %d", &list[i].weight, &list[i].height);
//2-2.우선 임의로 순위 입력
list[i].rank = 1;
}
//3.i번째 값과 다른 값들을 차례대로 비교
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
//j번째의 키와 몸무게가 모두 다 크면 i번째 입력값보다 순위가 높으므로
//i번째의 순위는 뒤로 밀리게 됨(rank +1을 하는 이유)
if (list[i].height < list[j].height && list[i].weight < list[j].weight)
list[i].rank += 1;
}
}
//4.차례대로 순위 출력
for (int i = 0; i < n; i++)
printf("%d ", list[i].rank);
return 0;
}
브루트포스(Brute Force)는 직역하면 짐승의 힘ㅋㅋㅋ 무식하게 모든 경우의 수를 탐색하는 알고리즘이다. 반복문으로 차례대로 탐색하며 결과값을 도출하면 되는 단순한 알고리즘이지만 나는 왜...! 헤매었는가.. 반성하고 공부하자!! 구조체를 너어어어무 오랜만에 사용해봐서 아주 잠시 뇌 고장..ㅠ 구조체가 아니어도 되지만 다른 사람들 풀이를 구경하다 구조체로 풀이한 분들이 꽤 계시길래 나도 구조체로 해보았다.
java
package javastd1;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class bj7568 {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine()); //사람 수 입력
int[][] arr = new int[N][2]; //2차원 배열로 몸무게, 키 저장
String[] sp;
for(int i = 0; i < N; i++) {
sp = br.readLine().split(" "); //몸무게와 키 문자 분리 구분자
arr[i][0] = Integer.parseInt(sp[0]); //2차원 배열 첫번째 몸무게 입력
arr[i][1] = Integer.parseInt(sp[1]); //2차원 배열 두번째 키 입력
}
//순서대로 비교
for(int i = 0; i < N; i++) {
int rank = 1;
for(int j = 0; j < N; j++) {
//if(i == j) continue;
//값이 더 큰 비교값이 있을 경우 순위 뒤로 밀림
if (arr[i][0] < arr[j][0] && arr[i][1] < arr[j][1]) {
rank++;
}
}
System.out.print(rank + " ");
}
}
}
자바에서는 2차원 배열로 풀이! [ ][0]에는 몸무게, [0][ ]에는 키 값. 순서대로 비교하는 for문 안에는 동일한 알고리즘으로 해결하였다.
'공부하자 > 알고리즘' 카테고리의 다른 글
[백준] 1436번 영화감독 숌 java (0) | 2022.01.27 |
---|---|
[백준] 2798번 블랙잭 C, java (0) | 2022.01.26 |
[백준] 10757번 큰수 A + B C, java (0) | 2022.01.20 |
[백준] 10872번 팩토리얼 C, java (0) | 2022.01.20 |
[백준] 2869번 달팽이는 올라가고 싶다 C, java (0) | 2022.01.19 |