728x90
SMALL
백준 문제 풀이: 30008 [준영이의 등급]
문제 링크: https://www.acmicpc.net/problem/30008
문제 설명:
정수 N과 K가 주어지고, 점수 G가 K개 주어질 때, 각 점수의 등급을 출력하는 문제입니다. 점수에 따라 다음 기준으로 등급이 나뉩니다:
- 0 ≤ P ≤ 4: 1등급
- 4 < P ≤ 11: 2등급
- 11 < P ≤ 23: 3등급
- 23 < P ≤ 40: 4등급
- 40 < P ≤ 60: 5등급
- 60 < P ≤ 77: 6등급
- 77 < P ≤ 89: 7등급
- 89 < P ≤ 96: 8등급
- 96 < P ≤ 100: 9등급
문제 해결 코드
#include <iostream>
#include <vector>
using namespace std;
int main() {
int N, K;
cin >> N >> K;
vector G(K);
vector result;
for (int i = 0; i < K; i++) {
cin >> G[i];
}
for (int i = 0; i < K; i++) {
int P = (G[i] * 100) / N;
if (0 <= P && P <= 4) {
result.push_back(1);
} else if (4 < P && P <= 11) {
result.push_back(2);
} else if (11 < P && P <= 23) {
result.push_back(3);
} else if (23 < P && P <= 40) {
result.push_back(4);
} else if (40 < P && P <= 60) {
result.push_back(5);
} else if (60 < P && P <= 77) {
result.push_back(6);
} else if (77 < P && P <= 89) {
result.push_back(7);
} else if (89 < P && P <= 96) {
result.push_back(8);
} else if (96 < P && P <= 100) {
result.push_back(9);
}
}
for (int i = 0; i < result.size(); i++) {
cout << result[i];
if (i < result.size() - 1) {
cout << " ";
}
}
cout << endl;
return 0;
}
코드 설명
- 입력: N과 K를 입력받은 후, 점수 배열 G를 저장합니다.
- 처리: 각 점수 G[i]에 대해 등급을 계산하여 결과 벡터에 추가합니다.
- 출력: 결과 벡터를 공백으로 구분하여 출력합니다.
결과
입력된 점수에 따라 등급을 정확히 출력합니다. 다른 접근 방식이나 개선 사항이 있다면 댓글로 공유 부탁드립니다!
728x90
LIST
'BAEKJOON > 수학' 카테고리의 다른 글
백준 1541번 [잃어버린 괄호](C++) -yes6686- 티스토리 (0) | 2024.12.24 |
---|---|
백준 32260번 [A + B](C++) -yes6686- 티스토리 (0) | 2024.12.24 |
백준 25487번 [단순한 문제 (Large)](C++) -yes6686- 티스토리 (1) | 2024.12.17 |
백준 11004번 [K번째 수](C++) -yes6686- 티스토리 (0) | 2024.12.14 |
백준 8974번 [희주의 수학시험](C++) -yes6686- 티스토리 (0) | 2024.11.15 |