[프로그래머스]/python

[프로그래머스] Lv2. 최댓값과 최솟값

0_TLS 2024. 3. 5. 12:37

문제 보기

더보기

문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요.
예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다.

제한 조건

  • s에는 둘 이상의 정수가 공백으로 구분되어 있습니다.

입출력 예

sreturn
"1 2 3 4" "1 4"
"-1 -2 -3 -4" "-4 -1"
"-1 -1" "-1 -1"

 

<나의 풀이>

def solution(s):
    answer = ''
    tmp = list(map(int, s.split(' ')))
    tmp.sort()
    answer += str(min(tmp)) + ' ' + str(max(tmp))

    return answer

 

*map() 사용해서 원소를 str->int로 바로 변경

 

 

<수정 전 코드>

처음에 이렇게 풀었는데 테스트는 통과했는데 틀림

def solution(s):
    answer = ''
    tmp = list(s.split(' '))
    if int(tmp[0]) > 0:
        answer += tmp[0] + ' ' + tmp[-1]
    else:
        answer += tmp[-1] + ' ' + tmp[0]
    return answer