aqws11   8년 전

set 배열에 0-9가 등장하는 횟수를 저장해서 이를 더하는 방식으로 구현했는데요.

0123456789
10111111111
21122222221

...

이런식으로 구하고 마지막에 해당행의 숫자를 모두 더해서 계단수를 구합니다.

그런데 틀렸다고 나와서 알고리즘 자체가 문제인건지 간과한 부분이 있는건지 모르겠어서 질문드립니다 ㅜㅜ

어디가 문제인가요?

baekjoon   8년 전

정답이 int 범위를 넘어갈 수 있기 때문입니다.

출력할 때 %연산을 사용하지 말고 중간 중간에 답을 구할 때 %를 사용해주세요.

https://www.acmicpc.net/problem/10430 를 먼저 풀어보는 것이 좋을 것 같아요.

yukariko   8년 전

더하는 도중에 int형 범위를 초과하여 오버플로우가 발생할 수 있습니다.

더하는 중간에도 나머지 연산을 수행해야 합니다.

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