qqqaa999   2년 전

sort를 활용하고 싶어 한번 해 보았는데...

안되네요ㅠㅠ

bnb2011   2년 전

11번째 줄에 출력할 때 b[-1]이 아니라 b[0]을 출력해야 맞습니다. 음수 중 가장 작은 값이 앞에 오기 때문입니다.

그리고 음수일 때의 배열을 따로 만들어 줄 필요도 없어 보입니다. 5번째 줄부터 12번째 줄을 빼도 정답이 나올 것 같네요.

qqqaa999   2년 전

저기 정말 죄송한데... 가장 작은 수와 가장 큰 수를 구하는 것이 문제잖아요

만약 [-6, -9, -7, -3] 이라는 리스트를 정렬하면

[-3, -6,- 7, -9]가 되어서 b[0]이 아니라 b[-1]이 맞지 않을까요...?

즉, 음수의 가장 작은 값이 아니라 가장 큰 값을 구해야...

다른 부분에서 오류가 발생한 것 같아요ㅠㅠ 

bnb2011   2년 전

지금 보니깐 c 배열에 들어가는 값이 정수가 아니라 문자열이라서 정렬이 이상하게 되고 있었던 것 같네요. 

파이썬에서 sort 함수는 기본적으로 오름차순 정렬이 이루어지기 때문에, c에 들어가는 값을 다 정수형으로 바꿔주신 뒤 정렬하면 잘 될 것 같습니다.

5
-1 -2 -11 -12 -131

참고로 위 반례에서 현재 올려주신 코드는 배열을 다음과 같이 정렬합니다.

['-1', '-11', '-12', '-131', '-2']

qqqaa999   2년 전

맞아요!!!! 무언가 정렬이 이상하게 되어서 하나하나 잡아 보려고 코드를 길게 적었는데 str을 생각 못했네요 정말 감사합니다!!!

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