[Programmers] - 최댓값과 최솟값

오동훈·2021년 5월 17일
0

Programmers

목록 보기
43/64
post-thumbnail

1. Problem 📃

📚 출처 - 프로그래머스

문제 설명
문자열 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"

2. Logic 👨‍🏫

max() 함수는 자료형이 int일 때 정상적이고, str형일 때는 아스키코드 값을 기준으로 출력이 된다. 그래서 형 변환을 하지 않고 파라미터로 입력받은 문자열을 바로 min 값을 출력하게 되면 아스키코드 값이 가장 작은 공백이 먼저 출력되게 된다.
따라서 공백을 지워주고, 자료형을 int로 변환해주는 작업이 필요하다.

3. Code 💻

1. 처음에 풀었다 틀린 코드

def solution(s):
    answer = s.split()
    return min(answer) + ' ' + max(answer) if int(max(answer)) > 0 else max(answer) + ' ' + min(answer)

2. 내가 푼 코드

def solution(s):
    answer = list(map(int, s.split(' ')))
    return str(min(answer)) + ' ' + str(max(answer))
profile
삽질의 기록들🐥

0개의 댓글