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

💡문제 분석 요약

띄워쓰기로 구분되어있는 문자열의 숫자를 나눠 리스트에 저장하고, 최소값과 최대값을 구해 새로운 문자열을 만든 후 리턴한다.

입출력 예

s return
"1 2 3 4" "1 4"
"-1 -2 -3 -4" "-4 -1"
"-1 -1" "-1 -1"

💡알고리즘 설계

  1. 문자열을 공백을 기준으로 나누어 숫자를 리스트에 저장
  2. 리스트를 소트
  3. 문자열에 리스트의 최소값과 최대값을 공백과 함께 추가

💡코드

def solution(s):
    l = list(map(int, s.split()))
    l.sort()
    answer=str(l[0])+' '+str(l[len(l)-1])
    return answer

💡시간복잡도

l 정렬 → O(nlogn)

len(l) → O(n)

💡 느낀점 or 기억할정보

소트를 하지 않고 min과 max를 사용하면 코드가 더 간결해질 것 같다.