입력 최대값이 10 억인 이유는 자릿수의 문제가 아니라 int 형으로 처리가능하다는 의미로 보이고,
입력값 %10 이면 마지막 한 자리값을 알수 있고, 입력값 / 10 해주면 한 자리수를 버리를 수 있습니다.
bool digit[10] = { 0 }; => true 인 개수만 세면 된다.
while (num > 0) {
digit[num % 10] = true;
num /= 10;
}
요런 식으로 단순화해서 해보시길..
profrog 6년 전 1
목적에 맞게 잘 돌아가는 것 같은데 왜 자꾸 틀렸습니다로 뜰까요?
for문을 이용해서는 풀었는데 , switch문을 넣어서 풀면 자꾸 틀리네요