- toc {:toc}
λ¬Έμ
λ€μμ΄λ μμ§μ΄μ μμ§μ μλ‘ μ΄μ¬μλ€. λ€μμ΄λ μκΈ° λ°© λ²νΈλ₯Ό μμΒ νλΌμ€ν± μ«μλ‘ λ¬Έμ λΆμ΄λ €κ³ νλ€.
λ€μμ΄μ μμ§μμλ νλΌμ€ν± μ«μλ₯Ό ν μΈνΈλ‘ νλ€. ν μΈνΈμλ 0λ²λΆν° 9λ²κΉμ§ μ«μκ° νλμ© λ€μ΄μλ€. λ€μμ΄μ λ°© λ²νΈκ° μ£Όμ΄μ‘μ λ, νμν μΈνΈμ κ°μμ μ΅μκ°μ μΆλ ₯νμμ€. (6μ 9λ₯Ό λ€μ§μ΄μ μ΄μ©ν μ μκ³ , 9λ 6μ λ€μ§μ΄μ μ΄μ©ν μ μλ€.)
μ λ ₯
첫째 μ€μ λ€μμ΄μ λ°© λ²νΈ Nμ΄ μ£Όμ΄μ§λ€. Nμ 1,000,000λ³΄λ€ μκ±°λ κ°μ μμ°μμ΄λ€.
μΆλ ₯
첫째 μ€μ νμν μΈνΈμ κ°μλ₯Ό μΆλ ₯νλ€.
μΆμ²:https://www.acmicpc.net/problem/1475
νμ΄
νμ΄μ μ£Όμ νΉμ§ β 6κ³Ό 9λ ν¨κ» μ¬μ©ν μ μλ€.
λ°λΌμ num[6]+num[9]λ₯Ό ν΅ν΄ 6κ³Ό 9κ° λμ¨ κ°μμ ν©μΌλ‘ μΈνΈμ μλ₯Ό μ²λ¦¬νλ€.
6κ³Ό 9λ μ²λ¦¬νμΌλ 0μΌλ‘ λλ€.
μ΄ν λλ¨Έμ§ μ«μλ₯Ό μ²λ¦¬ν΄μ€λ€.
#include <bits/stdc++.h>
using namespace std;
int num[10];
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
int N, max;
cin >> N;
do{
num[N%10]++;
N = N/10;
}while(N!=0);
max = -1;
if(max<(num[6]+num[9])/2){
if((num[6]+num[9])%2!=0)
max = (num[6]+num[9]+1)/2;
else
max = (num[6]+num[9])/2;
}
num[6]=num[9]=0;
for(auto elem : num){
if(max < elem){
max = elem;
}
}
cout << max << "\n";
return 0;
}μ΄ νμ΄λ 6κ³Ό 9μ μ²λ¦¬λ₯Ό λμ€μΌλ‘ λ―Έλ€λ€.
미루λ λ°©λ²μ continueλ₯Ό μ¬μ©νμ¬ μ²λ¦¬νλ€.
++ansλ κ²°κ΅ intμ΄κΈ° λλ¬Έμ μμμ μ λ²λ €μ§λ€. μ΄λ₯Ό μ΄μ©ν΄ (a[6]+a[9]+1)/2)λ§μ μ¬μ©νμ¬ κ°κ²°ν ν μ μλ€.
// Authored by : OceanShape
// Co-authored by : BaaaaaaaaaaarkingDog
// http://boj.kr/be312f0135b040c0acf8960181870067
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
// ans = 1λ‘ λ μΌλ‘μ N = 0μΌλμ λν μμΈμ²λ¦¬κ° μμ°μ€λ½κ² κ°λ₯ν΄μ§
int N, a[10] = {}, ans = 1;
cin >> N;
// μ리μ μΆμΆ
while(N){
a[N%10]++;
N /= 10;
}
for(int i = 0; i < 10; i++){
if(i == 6 || i == 9) continue;
ans = max(ans, a[i]);
}
// (a[6]+a[9])/2λ₯Ό μ¬λ¦Όν κ°μ΄ 6, 9μ λν νμν μΈνΈμ μμ΄λ―λ‘ (a[6]+a[9]+1)/2μ κ³μ°
ans = max(ans, (a[6]+a[9]+1)/2);
cout << ans;
}