처음 작성한 코드는 다음과 같다.
주어진 예제는 다 잘 돌아갔지만 틀렸다는 결과가 나왔다.
#include <iostream>
#include <cmath>
using namespace std;
int main(){
int n;
cin >> n;
int temp;
int num[11] = {0, };
while(n>0){
temp = n%10;
n = n/10;
num[temp]++;
}
int max = 0;
for(int i=1; i<=8; i++){ //9는 미리 제외
if(i!=6){//6제외
if(max < num[i])
max = num[i];
}
}
//6,9 고려해주기
if( max < ceil((num[6]+num[9])/2) )
max = ceil((num[6]+num[9])/2);
cout << max;
return 0;
}
다시 작성한 코드는 다음과 같다.
ceil함수를 사용할 때 뭔가 문제가 있었다.
그냥 1을 더해주고 /2해주는 방식으로 수정했다.
#include <iostream>
#include <cmath>
using namespace std;
int main(){
int n;
cin >> n;
int temp;
int num[10] = {0};
while(true){
temp = n%10;
num[temp]++;
if(n/10==0)
break;
n = n/10;
}
int max = 0;
for(int i=0; i<=8; i++){ //9는 미리 제외
if(i!=6){//6제외
if(max < num[i])
max = num[i];
}
}
//6,9 고려해주기
if( max < (num[6]+num[9]+1)/2 )
max = (num[6]+num[9]+1)/2;
cout << max;
return 0;
}
'백준' 카테고리의 다른 글
백준 2003 수들의 합 2 c++ (0) | 2024.03.29 |
---|---|
백준 13300 방 배정 c++ (0) | 2024.03.28 |
백준 11652 카드 c++ (0) | 2024.03.27 |
백준 3273 두 수의 합 c++ (0) | 2024.03.27 |
백준 7795 먹을 것인가 먹힐 것인가 c++ (0) | 2024.03.27 |