https://www.acmicpc.net/problem/11557
(21.08.06)
11557번: Yangjojang of The Year
[문제]
입학 OT때 누구보다도 남다르게 놀았던 당신은 자연스럽게 1학년 과대를 역임하게 되었다.
타교와의 조인트 엠티를 기획하려는 당신은 근처에 있는 학교 중 어느 학교가 술을 가장 많이 먹는지 궁금해졌다.
학교별로 한 해동안 술 소비량이 주어질 때, 가장 술 소비가 많은 학교 이름을 출력하여라.
[입력]
입력의 첫 줄에는 테스트 케이스의 숫자 T가 주어진다.
매 입력의 첫 줄에는 학교의 숫자 정수 N(1 ≤ N ≤ 100)이 주어진다.
이어서 N줄에 걸쳐 학교 이름 S(1 ≤ |S| ≤ 20, S는 공백없는 대소문자 알파벳 문자열)와 해당 학교가 지난 한 해동안 소비한 술의 양 L(0 <= L <= 10,000,000)이 공백으로 구분되어 정수로 주어진다.
같은 테스트 케이스 안에서 소비한 술의 양이 같은 학교는 없다고 가정한다.
2
3
Yonsei 10
Korea 10000000
Ewha 20
2
Yonsei 1
Korea 10000000
|
[출력]
각 테스트 케이스마다 한 줄에 걸쳐 술 소비가 가장 많은 학교의 이름을 출력한다.
Korea
Korea
|
[소스코드]
#include <stdio.h>
#include <string.h>
// [baekjoon] 11557번 - Yangjojang of The Year
int main() {
int T, N, L[100];
char S[100][21]; // 학교 이름을 저장할 2차원 배열!
scanf("%d", &T);
for (int i = 0; i < T; i++) {
scanf("%d", &N);
int max_num = 0; // 술 소비가 가장 많은 학교의 순서
int max_sul = 0; // 술 소비가 가장 많은 학교의 술 소비량
for (int j = 0; j < N; j++) {
scanf("%s%d", &S[j], &L[j]);
if (L[j] > max_sul) { // 술 소비량 비교
max_sul = L[j];
max_num = j;
}
}
printf("%s\n", S[max_num]);
}
}
문제를 푸는데 필요한건 문자열(string)에 대한 공부였다.
아직 공부한 적 없던 내용이라서 간단하게 공부해보고 문제를 풀었다.
학교 이름이 여러개 입력되기 때문에, 2차원 배열을 이용해서 이름을 저장했다.
학교 이름을 입력 받는 걸 제외하면, 평범한 최대값 찾기 문제라서 푸는데 어려움은 없었다.
'학습 정리 > 👨💻 PS Study' 카테고리의 다른 글
[C] 백준 21567번 - 숫자의 개수 2 (0) | 2022.07.06 |
---|---|
[C] 백준 21867번 - Java Bitecode (0) | 2022.07.06 |
[C] 백준 21866번 - 추첨을 통해 커피를 받자 (0) | 2022.07.06 |
[C] 백준 1924번 - 2007년 (0) | 2022.07.06 |
[C] 백준 1065번 - 한수 (0) | 2022.06.22 |