-
[1475] 방 번호BOJ 2021. 9. 26. 09:29
https://www.acmicpc.net/problem/1475
1475번: 방 번호
첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수 또는 0이다.
www.acmicpc.net
<문제>
문자열로 받고, 각각의 수가 등장한 횟수를 카운트해준다.
6과 9는 돌려쓸 수 있으므로, 한번 살때 2개씩 사는것처럼 간주하고, 그외에는 나온 횟수만큼 사야한다.
1. 0~9중 6과 9를 제외한 수가 나온 횟수
2. ceil((6, 9가 나온 횟수)/2) -> 3개면, 2번사야 하므로 올림처리
1,2중 최대값을 출력하면 된다.
<소스코드>
123456789101112131415161718192021#include <bits/stdc++.h>using namespace std;int a[10];int main(void) {string s;cin >> s;int n = s.length();int i;for (i = 0; i < n; i++) a[s[i] - '0']++;int mx = 0, cnt = 0;//6, 9만 돌려쓰기 가능//answer : 'ceil((cnt_6+cnt_9)/2)' 와 '6,9를 제외한 수가 나온 횟수'중 큰것for (i = 0; i <= 9; i++) {if (i == 6 || i == 9)cnt += a[i];elsemx = max(a[i], mx);}if (cnt % 2 == 1) cnt++;cout << max(mx, cnt / 2);return 0;}cs 'BOJ' 카테고리의 다른 글
[1254] 팰린드롬 만들기 (0) 2021.09.27 [16197] 두 동전 (0) 2021.09.26 [11050] 이항 계수 1 (0) 2021.09.21 [9466] 텀 프로젝트 (0) 2021.09.21 [1937] 욕심쟁이 판다 (0) 2021.09.21