kwg5566   2년 전

출력까지 잘나오는데 틀렸다고 뜨네요.. 뭐가 문제일까요 피드백 부탁드립니다.

dbshin59   2년 전

19번에 i = i++ 이라고 된 부분이 문제입니다.

i++의 뜻은, 원래 수 i를 반환하고 i에 1을 더한다는 뜻인데, i = i++를 해버리면 먼저 i++는 i를 반환하기 때문에

연산이 덮여씌워질 수 있어 매우 위험한 문법입니다. (예를 들어 i = i += 1 쯤 됩니다.)

그냥 i++만 해주셔도 i에 1이 더해집니다. i += 1 해도 좋고요.

dps2   2년 전

i = i++에서 문제가 발생하고 있습니다.

++ 연산은 한 줄에 같은 변수가 여러개 있을 때 컴파일러마다 조금씩 다르게 구현하기 때문에

한줄에 여러번 사용되는 변수에는 ++을 안쓰시는 것이 좋습니다.

i = i++을 i++로 고쳐서 제출해서 맞았습니다.


그런데 그것과 별개로 로직을 조금 더 다듬으시면 좋을 것 같습니다.
n이 0부터99이하의 정수라는 것은 조건입니다. 확인하실 필요가 없습니다.

자릿수를 따로 구하셨는데 이것도 조금 더 일반화를 하면 간결하게 적을 수 있습니다.

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