문제 링크 : www.acmicpc.net/problem/1475
내 풀이(2021.1.1.) :
#include <iostream>
using namespace std;
int n[10];
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
string N; cin >> N;
for (int i = 0; i < N.size(); i++) {
if (N[i] == '6' || N[i] == '9') {
n[6]++; n[9]++;
}
else {
n[N[i] - '0']++;
}
}
/*
for (int i = 0; i < 10; i++) {
cout << i << " ";
}
cout << endl;
for (int i = 0; i < 10; i++) {
cout << n[i] << " ";
}
cout << endl;
*/
n[6] += 1; n[6] /= 2;
n[9] += 1; n[9] /= 2;
int max = 0;
for (int i = 0; i < 10; i++) {
if (max < n[i]) max = n[i];
}
cout << max;
return 0;
}
3번만에 맞췄다.
1번째 시도에서 한 실수는, 숫자를 카운트하는 배열의 타입을 int로 해야 하는데 char로 해버렸고
2번째 시도에서 한 실수는, 6이나 9를 후처리할 때 +1를 하고 /2를 해야 하는데 /2만 해버렸다.
앞으로는
주석 처리 된 부분처럼 일일이 출력하지 않고도, 한 번에 맞출 수 있는 수준이 되어야 겠다.
'알고리즘 > 구현' 카테고리의 다른 글
백준 14503번 : 로봇 청소기 (0) | 2021.01.10 |
---|---|
백준 10757번 : 큰 수 A+B (0) | 2021.01.04 |
백준 14891번 : 톱니바퀴 (0) | 2021.01.03 |
백준 2167번 : 2차원 배열의 합 (0) | 2021.01.02 |
코딩 테스트에서 '구현' 카테고리는 무엇일까요? (0) | 2021.01.01 |