Priceless
[백준] 7568번: 덩치 (C++) 본문

키와 몸무게를 입력 받아 누가 제일 덩치가 큰 지 알아내는 문제다
나보다 키와 몸무게가 큰 사람이 없으면 그 사람이 제일 덩치가 큰 사람이고
비교하는 사람보다 키는 크지만 몸무게가 작거나 그 반대인 경우 비교하는 사람과 같은 순위이다
몸무게와 키를 저장하는 각 배열에 입력 받고
순위를 담당하는 배열을 추가한다
본인이 키와 몸무게 둘 다 한 번이라도 밀린다면 점수를 올린다(올릴 수록 순위가 낮아짐)
그런 식으로 전수 조사를 하면 구할 수 있는 간단한 문제다
처음에는 순위를 담당하는 배열을 배열 크기만큼 초기화하여
조사하는 사람의 키와 몸무게가 둘 중 하나라도 크면
점수를 빼는 식으로 구현했다
제공되는 예제에서는 잘 작동됐지만 다른 예제에서 잘 작동하지 않아
1점에서 시작하여 패널티를 주는 식으로 하니까 쉽게 해결할 수 있었다
// baekjoon 7568
#include<iostream>
#include<algorithm>
#include<string>
#include<cmath>
using namespace std;
// codes for fast I/O
void init(){
cin.tie(0);
cout.tie(0);
ios_base::sync_with_stdio(false);
}
int main(){
init();
int n;
cin >> n;
int arr_h[n];
int arr_w[n];
int h, w;
int point[n];
for(int i = 0; i < n; i++){
cin >> h >> w;
arr_h[i] = h;
arr_w[i] = w;
point[i] = 1;
}
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++){
if(i != j){
if((arr_h[i] < arr_h[j] && arr_w[i] < arr_w[j])){
point[i]++;
}
}
}
}
for(int i = 0; i < n; i++){
cout << point[i] << ' ';
}
}
'Algorithm & Test > 백준' 카테고리의 다른 글
[백준] 15903번: 카드 합체 놀이 (C++) (0) | 2023.08.31 |
---|---|
[백준] 1010번: 다리 놓기 (C++) (0) | 2023.08.30 |
[백준] 1339번: 단어 수학 (C++) (0) | 2023.08.21 |
[백준] 1946번: 신입 사원 (C++) (0) | 2023.08.20 |
[백준] 16953번: A → B (C++) (0) | 2023.08.19 |