본문 바로가기

알고리즘

[프로그래머스] 최댓값과 최솟값(python)

https://school.programmers.co.kr/learn/courses/30/lessons/12939

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

📌 문제 설명

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

제한 조건
  • s에는 둘 이상의 정수가 공백으로 구분되어 있습니다.
✔️ 입출력 예
s return
"1 2 3 4" "1 4"
"-1 -2 -3 -4" "-4 -1"
"-1 -1" "-1 -1"

🗒 풀이

def solution(s):
    answer = [int(i) for i in s.split(' ')]
    return '{0} {1}'.format(min(answer), max(answer))

입력받은 s를 띄어쓰기 기준으로 분할해주고, int로 변환해준다.

만약 int로 변환하지 않았을 경우, 두 번째 테스트케이스를 통과하지 못한다. -1이 -4보다 작다고 판단해버리는 오류가 생기는 것이다.

int로 변환된 배열에서 최소값과 최대값을 반환해주면 된다.


🤔 후기

이것도 레벨 2 문제인데, 이게...? 라는 생각이 드는 문제였다.

너무나도 쉽고 직관적이고 생각할 게 없었던 문제.