kmj6359   1년 전

며칠간 여러 반례를 대입해봤는데 차이를 찾아볼 수 없어 질문드리게 되었습니다.

( int num[16] -> num[1] : n의 1의 자릿수, num[2] : n의 10의 자릿수, ... , num[0] 사용X )

n + 1 을 int 배열로 자릿수대로 받아와 5의 개수가 k개보다 많거나 같을 경우 print()함수를 통해 int 배열을 순차적으로 출력하도록 만들었습니다. -> // 1. 바로 출력

그렇지 않을 경우 n의 자리 수 범위 내에서 1의 자리 부터 순차적으로 5가 될 때 까지 증가시켰고, 올림 수 발생 처리 후 조건 충족 시 출력 후 종료하게 만들었습니다. -> // 2. 순차 증가

n의 자리 수 범위보다 k가 크다면 (ex ) n : 123, k : 6), 답은 5를 k번 출력하는 형식이므로 따로 처리해주었습니다. -> // 3. digit < k

궁금한 점은 코드에서 // ****** 부분에 조건이 충족되었을 시 기존의 print()함수를 사용하면 15%에서 틀렸다고 나옵니다.

다만 현재처럼 long long 변수를 만들어 직접 수를 더해 출력할 경우 정답으로 처리됩니다.

'1. 바로 출력'하는 부분에서의 print() 함수는 문제되지 않았는데 '2. 순차 증가' 부분에서의 print()함수는 문제가 되는 부분을 모르겠습니다 ㅜㅜ.. 범위는 동일하게 1 ~ digit입니다.

혹시 차이를 아시는 분은 답변주시면 정말 감사드립니다 ㅜㅜ

댓글을 작성하려면 로그인해야 합니다.