View
반응형
알고리즘 분류: 구현
문제 링크: https://www.acmicpc.net/problem/1205
【 풀이 】
- 점수의 개수(n), 태수의 새로운 점수(score), 랭킹 범위(r) 선언
- 랭크를 저장할 변수(rank_count) 선언
- 랭킹 리스트 입력 받기
- 랭킹을 순회한다. -> 기존 점수보다 새로운 점수가 작으면 rank_count +1
- 점수가 같으면 rank_count 유지
- 배열 범위에서 벗어나는 점수이면 rank_count = -1
- 랭킹 리스트에 점수가 아무것도 없다면 rank_count = 1
- 최종 rank_count 출력
【 코드 】
#include<iostream>
using namespace std;
int ranking[51];
int main() {
int n; // 점수의 개수
int score; // 태수의 새로운 점수
int r; // 랭킹 범위
int cnt = 0;
int rank_count = 1;
cin >> n >> score >> r;
// 배열 -1로 초기화
for (int i = 0; i < r; i++) { ranking[i] = -1; }
// 랭킹 리스트 입력 받기
for (int i = 0; i < n; i++) { cin >> ranking[i]; }
for (int i = 0; i < n; i++) {
// 1. 랭킹을 순회할 때 기존 점수보다 새로운 점수가 작으면 +1
// 2. 점수가 같으면 랭크 유지
if (score < ranking[i]) { rank_count++; }
else if (score == ranking[i]) { rank_count = rank_count; }
else break;
cnt++;
}
// 배열 범위에 안들어가면 -1
// 랭킹에 점수가 아무것도 없다면 1
if (cnt == r) rank_count = -1;
if (n == 0) rank_count = 1;
cout << rank_count;
return 0;
}
728x90
반응형
'Problem Solving > Baekjoon' 카테고리의 다른 글
[백준] 1049번: 기타줄 [C++] (0) | 2023.09.14 |
---|---|
[백준] 1026번: 보물 [C++] (0) | 2023.09.12 |
[백준] 1343번: 폴리오미노 [C++] (0) | 2023.09.01 |
[백준] 1316번: 그룹 단어 체커 [C++] (0) | 2023.07.05 |
[백준] 1927번: 최소 힙 [C++] (0) | 2023.06.14 |
reply