코린이라 무식하게 짜고 있는거 양해좀요 ㅠㅠ 6974번 구글링을 해도 안 나와서 못 찾겠네요 

틀린 것을 고치고 싶은데 디버깅 돌려보면 출력이

285
2469456

3
0           <- 여기 다음에 빈 줄 출력이 없어요
0
11

이렇게 나와 버리는데 궁금한 점은 케이스 별로 빈 줄을 출력하다가 어째서

케이스 마지막에 0이 나오면 빈 줄을 출력을 안 하는지 그게 너무 궁금합니다!

이거 궁금해서 코드 고칠 생각이 안 드네요 ㅠㅠ

phcdream   3년 전

print r 한번 해보세요.

조건이 이상합니다.

phcdream   3년 전

r 말고 print a 도 한번 해보세요.

print(r,a) 했을 때

[28, 5] 2469456

출력됩니다

phcdream   3년 전

while문안에 print a이런식으로 넣어서, 값이 어떻게 변하는지 보세요.

print([a]) 이런식으로 리스트 안에 넣어서 출력하면, 특수문자도 볼수있습니다.

정말 기초적인건데 알아볼 곳이 없어서 ㅠㅠ 

while 문에서 빈 줄 출력이 어떤 경우에 일어나는지 알고 싶어요 첫 질문에 출력 값처럼

어떤 케이스는 알아서 빈 줄 출력이 되고 빈 줄 출력이 안되고 왜 그러는 것인지

제가 짠 코드에 \n 안 넣었는데 빈 줄 출력이 돼서요!

phcdream   3년 전

일단 BigInteger 안쓰고 구현하는데 예외가 좀 많네요.

해당코드는 빈줄 출력뿐만 아니라, 예외에 대한 처리도 없습니다.

1. 빈줄 출력에 대해서는 

6~7번줄 사이에 v=len(a)-c-1 추가하시면 됩니다. v값도 반복할때 갱신해주셔야 합니다.

왜 그런지 궁금하시면,

반복문시작하는 부분 6~7줄 사이에 print("시작",[a,v,a[:v],a[v:],r])

반복문 블럭 끝부분 9~10줄 사이에 들여쓰기해서 print("끝 ",[a,v,r]) 추가하셔서 값 비교 해보세요.

-> 이렇게 중간에 값이 어떻게 변하는지 확인하는것이 디버그 입니다.

2. 예외에 대한 부분은 0에 대한 예외가 처리가 안됬네요.

해당 코드에서 조건에 맞게 구현 올바르게하고 0에 대한 예외 처리하면 '맞았습니다!!'가 뜰것입니다.

a2가 0이라면? 이거 해결하고나서, 마지막에 a값에 대해서도 0일때 예외 처리해주셔야합니다.

그리고 문제는 대부분 많은 사람이 풀었을수록, 질문글도 많고, 검색했을때 정보도 많습니다.

phcdream   3년 전

1.번 설명은 아래 코드처럼 고쳐보란뜻입니다.

2.번 예외는 비슷하게 짜 봤습니다. BigInt로 '맞았습니다!!'를 받고 한번 봐보세요.

24327698번 소스 코드 (acmicpc.net)

제가 몇 일 너무 바빠서 못했네요 ㅠㅠ

1번에 대해서는 너무 친절하게 정리해주셔서 바로 이해했어요!

2번은 문제점은 이해했는데 예외 처리를 어떤 부분에 해야 하는지 감이 잡히질 않습니다

예외에 대한 것도 이번에 처음 알았네요...

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