https://school.programmers.co.kr/learn/courses/30/lessons/12939
프로그래머
코드 중심 개발자를 모집합니다. 스택 기반 위치 일치. 프로그래머의 개발자별 프로필에 등록하고 귀하와 기술 호환성이 좋은 회사와 연결하십시오.
Programmers.co.kr
링크를 통해 문제점을 확인해주시면 감사하겠습니다!
내 솔루션
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이 정렬된 새 목록을 반환합니다.
개인 공부를 정리하기 위해 쓴 글이라 미흡한 부분이 있을 수 있습니다.
부족한 점은 댓글로 알려주시면 감사하겠습니다!
그리고 더 좋은 풀이나 다른 의견이 있으시면 편하게 댓글 남겨주세요 🙂