문제
https://www.acmicpc.net/problem/11557
풀이
테스트 케이스의 숫자 T만큼 반복 (while)
학교의 수 N만큼 반복하면서 학교이름 S, 학교가 소비한 술의 양 L 입력받음 (for)
이전까지 가장 많았던 술 소비량(mostLiquorNum)과 L 비교,
(L이 더 클 경우) bestDrinkingSchool에 S 저장(memcpy), mostLiquorNum에 L 저장
소스코드
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int T; // 테스트케이스의 숫자
cin >> T;
int currentCaseNum = 0;
while(currentCaseNum < T){
int N; // 학교의 수
cin >> N;
char S[21]; // 학교 이름
int L=0; // 소비한 술의 양
char bestDrinkingSchool[21];
int mostLiquorNum=0;
for(int i=0; i<N; i++){
cin >> S >> L;
if(L > mostLiquorNum){
mostLiquorNum = L;
memcpy(bestDrinkingSchool, S, sizeof(S));
}
}
cout << bestDrinkingSchool << endl;
currentCaseNum++;
}
return 0;
}
회고
memcpy 썼는데 <cstring> include를 까먹어서 컴파일 에러가 나왔다. vscode에서 g++로 돌렸을 땐 <cstring> 없이도 돌아갔었는데 ..!!??
아무튼 주의하자 !
'Problem Solving' 카테고리의 다른 글
[백준/BOJ] 1934. 최소공배수 (C++) (0) | 2024.05.10 |
---|---|
[백준/BOJ] 2163. 초콜릿 자르기 (C++) (0) | 2024.05.10 |
[백준/BOJ] 2754. 학점 계산 (C++) (0) | 2024.05.08 |
[백준/BOJ] 1789. 수들의 합 (C++) (0) | 2024.05.08 |
[백준/BOJ] 11653. 소인수분해 (C++) (0) | 2024.05.08 |