(프로그래머) Lv2. 최대값과 최소값 – Python(Python3)

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

링크를 통해 문제점을 확인해주시면 감사하겠습니다!

내 솔루션

def solution(s):
    l = list(map(int,s.split()))
    m = min(l)
    M = max(l)
    answer = str(m) + ' ' + str(M)
    return answer

s는 문자열 형태로 제공되므로 split 함수를 사용하여 공백을 기준으로 잘라내어 목록에 삽입합니다.

이때 리스트의 각 요소의 크기를 비교하기 위해서는 map 함수를 이용하여 int형으로 변환하여 리스트에 넣는다.

min 및 max 함수를 사용하여 최소값과 최대값을 찾을 수 있습니다.

찾은 후 문제 조건에 맞게 str 함수를 사용하여 문자열 형식으로 변환합니다.

더 알아보기

정렬 기능을 사용할 수 있습니다.

def solution(s):
    answer = sorted((int(x) for x in s.split()))
    return str(answer(0)) + " " + str(answer(-1))

for 문을 사용하여 목록의 각 요소를 int 유형으로 변환하여 넣습니다.

그런 다음 sorted 함수를 사용하여 정렬합니다.

그러면 오름차순으로 정렬되기 때문에 answer의 첫 번째 요소가 최소값이 됩니다.

답변의 마지막 요소는 최대값이 됩니다.

answer(0)을 통해 첫 번째 요소에 액세스하고 answer(-1)을 통해 마지막 요소에 액세스할 수 있습니다.

+sorted 기능은 무엇입니까?

당신이 sorted( iterable) 라고 말할 때,

인수는 반복 가능한 데이터 유형(목록, 튜플 등)입니다.

위의 코드에서 sorted((int(x) for x in s.split()))를 수행하면,

목록의 각 요소는 오름차순으로 정렬됩니다.

정렬 기능과의 차이점을 구별하는 것이 중요합니다.

L.sort()를 보면 sorted(L)

L.sort()의 경우 L을 정렬된 상태로 변환합니다.

그러나 정렬(L)은 L 자체는 변하지 않는다 L이 정렬된 새 목록을 반환합니다.

개인 공부를 정리하기 위해 쓴 글이라 미흡한 부분이 있을 수 있습니다.

부족한 점은 댓글로 알려주시면 감사하겠습니다!

그리고 더 좋은 풀이나 다른 의견이 있으시면 편하게 댓글 남겨주세요 🙂