2577번 - 숫자의 개수
두 코드 중 위 코드와 아래 코드의 차이점이 무엇인가요??
차이점이라곤 a*b*c를 for문 범위 안에 바로넣느냐, variable로 만들어 넣느냐 차이입니다.
아래 코드는 정상적으로 나오는데 위 코드는 출력값이 1 0 0 0 0 0 0 0 0 으로만 나옵니다.
8번째 줄에서 c라는 이름의 변수가 문자열을 순회하기 위한 문자로 사용되면서 처음에 입력받은 값으로서의 c가 두 번째 루프부터는 사라지게 됩니다.
어떤 말씀인지 이해가 안되네요. c가 곱셈한 문저열의 첫번째 자릿수만 돌고 사라진다는 의미인 것은 이해되는데, 그것이 왜 그런지 이해가 안됩니다. 더 자세히 설명해주실 수 있나요?
아래 코드를 가지고 설명 드리자면, range(1)이 0이라는 값을 a에 대입한 채로 루프를 끝내기 때문에 a의 값이 for 루프 전후로 바뀌게 됩니다. for에 쓰였다고 해서 별도의 a라는 변수가 만들어지는 게 아니라 바깥에 있던 a를 그대로 덮어쓰기 때문에 그렇습니다.
아 변수를 겹쳐 썼었군요.. 꼼꼼하지 못한 탓이네요. 감사합니다!
댓글을 작성하려면 로그인해야 합니다.
kshy0519 2년 전
두 코드 중 위 코드와 아래 코드의 차이점이 무엇인가요??
차이점이라곤 a*b*c를 for문 범위 안에 바로넣느냐, variable로 만들어 넣느냐 차이입니다.
아래 코드는 정상적으로 나오는데 위 코드는 출력값이 1 0 0 0 0 0 0 0 0 으로만 나옵니다.