ele7004   4년 전

안녕하세요 선생님들.

답은 똑같이 나와서 왜틀리지? 왜틀리지? 하다가 다른 분 풀이를 보니 딱 한가지가 다른 것이 입력부분이더라구요.

근데 나름 반례 몇개 넣어도 답은 같게 나오고 해서 혹시 이게 차이가 어떤부분에서 나는 것인지 궁금하여 여쭙습니다.

1번의 경우 입력받은 값을 그대로 넣는 코드이고,

2번의 경우 map을 사용하여 list로 만드는 것입니다.

1번과 2번이 출력하는 답은 동일하였는데 왜 첫번째는 틀리고

두번째는 맞을까요?

그저 리스트에 int로 집어넣지 않아서일까요?

그래도 sorting은 잘 되던데 ㅠㅠ (반례 이것저것 해보긴 하였으나 정렬이 너무 잘되어서..)

고수님들 부탁드립니다.

djm03178   4년 전

readline()이 읽는 것은 str이며, str끼리의 비교는 int끼리의 비교와는 다릅니다. 9 < 10이지만, '10' < '9'입니다.

djm03178   4년 전

그리고 코드는 아무리 다른 곳에 차이점이 없다고 해도 그게 무엇인지 전체를 보여줘야 합니다. 전체 코드가 있어야 다른 사람들도 그 코드를 실행해보고 반례를 찾을 수 있고, 여기만의 문제가 아니라 뒷부분과의 연계에서 문제가 발생할 수도 있는 것이기 때문입니다.

ele7004   4년 전

말씀 감사합니다. 기본적인 것인데 착각하고 있었군요..

파이썬에서 str로 된 숫자는 자동으로 int로 변환해서 비교한다고 제가 잘못 알고 있었나 봅니다. 정말 잘못알고있었네요.. ㅋㅋ;;

다음에는 말씀해주신 대로 올리도록 하겠습니다. 다만, 나머지 부분에 대해서는 이래저래 실험으로 돌려보고 틀렸다고 생각하지 않았기 때문이기도 하고 질문 올린대로 int로 바꾸면 답인 코드가 되어버려서 올리지 않았습니다.

답변 정말 감사합니다. 도움이 되었습니다!

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