728x90
SMALL
백준 문제 풀이: 7568 [덩치]
문제 링크: https://www.acmicpc.net/problem/7568
문제 설명:
각 사람의 몸무게와 키를 기준으로 덩치를 비교하여, 자신보다 "덩치가 큰" 사람이 몇 명인지 계산하는 문제입니다. 덩치는 다음 조건을 만족할 때 "큰" 것으로 간주합니다:
- 몸무게가 더 크고, 키가 더 크다.
같은 덩치를 가진 사람이 여러 명이라도, 각 사람의 등수는 유일합니다.
문제 해결 코드
#include <iostream>
using namespace std;
struct student {
int weight;
int height;
};
int main() {
int n;
cin >> n;
student k[51];
int cnt = 1;
for (int i = 0; i < n; i++) {
cin >> k[i].weight >> k[i].height;
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (k[i].weight < k[j].weight && k[i].height < k[j].height) {
cnt++;
}
}
cout << cnt << ' ';
cnt = 1;
}
}
코드 설명
- 핵심 알고리즘: 이중 반복문을 사용하여 모든 학생의 몸무게와 키를 비교
- 구현 세부사항:
- 각 학생의 몸무게와 키를 구조체
student
배열에 저장 - 학생 i와 다른 모든 학생 j를 비교하여, 덩치가 큰 경우 카운트를 증가
- 카운트를 출력하고 초기화
- 각 학생의 몸무게와 키를 구조체
- 시간 복잡도: O(n2)
- 이중 반복문으로 학생 수만큼 비교
결과
입력된 각 학생의 몸무게와 키를 비교하여 자신의 등수를 출력합니다.
다른 접근 방식이나 개선 사항이 있다면 댓글로 공유 부탁드립니다!
728x90
LIST
'BAEKJOON > 브루트포스' 카테고리의 다른 글
백준 17136번 [색종이 붙이기](C++) -yes6686- 티스토리 (0) | 2024.01.21 |
---|---|
백준 18111번 [마인크래프트](C++)-yes6686- 티스토리 (0) | 2024.01.05 |
백준 2798번 [블랙잭](C++)-yes6686- 티스토리 (0) | 2024.01.02 |
백준 2231번 [분해합](C++)-yes6686- 티스토리 (0) | 2024.01.02 |
백준 1436번 [영화감독 숌](C++)-yes6686- 티스토리 (0) | 2023.12.21 |