[BOJ] C++ 1475 "방 번호" 문제 풀이 _ nov
- Archive2/ProblemSolving
- 2022. 2. 24.
반응형
#INFO
난이도 : SILVER5
출처 : 1475번: 방 번호 (acmicpc.net)
#SOLVE
아스키코드를 적절히 사용하면 풀이할 수 있는 간단한 배열 문제였다.
0 ~ 9 번 방 까지의 번호의 개수를 저장할 room 배열을 선언한다.
int room[10] = {0, };
다음으로 문자열로 방번호를 입력받아 필요한 번호판의 개수를 room 배열에 저장한다. 단, 6번과 9번은 뒤집어서 사용할 수 있기에 따로 처리한다.
for (int i = 0 ; i < n.length() ; i++) {
room[n[i]-48]++;
}
int sixNine = (room[6] + room[9] + 1) / 2;
room[6] = sixNine;
room[9] = sixNine;
마지막으로 room 배열을 돌면서 가장 큰 값을 출력해 주면 된다.
int max = 0;
for (int i = 0 ; i < 10 ; i++) {
if (max < room[i])
max = room[i];
}
cout << max << endl;
#CODE
#include <iostream>
#include <string>
using namespace std;
int room[10] = {0, };
int main() {
string n;
cin >> n;
for (int i = 0 ; i < n.length() ; i++) {
room[n[i]-48]++;
}
int sixNine = (room[6] + room[9] + 1) / 2;
room[6] = sixNine;
room[9] = sixNine;
int max = 0;
for (int i = 0 ; i < 10 ; i++) {
if (max < room[i])
max = room[i];
}
cout << max << endl;
return 0;
}
반응형
'Archive2 > ProblemSolving' 카테고리의 다른 글
[BOJ] C++ 2884 "알람 시계" 문제 풀이 _ nov (0) | 2022.03.17 |
---|---|
[BOJ] C++ 1008 "A/B" 문제 풀이 _ nov (feat.정밀도[precision]) (0) | 2022.03.02 |
[BOJ] C++ 1919 "애너그램 만들기" 문제 풀이 _ nov (0) | 2022.02.24 |
[BOJ] C++ 6198 "옥상 꾸미기" 문제 풀이 _ nov (0) | 2022.02.23 |
[BOJ] 12852 "1로 만들기2" 문제 풀이 & 소스 코드 With C/C++ (0) | 2022.02.22 |