• 문제

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

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

 

  • 답안
def solution(s):
    answer = ''
    nums = s.split(' ')
    num_list = list(map(int, nums))
    
    min_num = min(num_list)
    max_num = max(num_list)
    
    answer = f'{min_num} {max_num}'
    return answer

 

  • 이 문제의 키워드
    • 문자열을 여러 요소로 나눈다던가, 공백을 제거해주는 과정이 필요할 때, s.split(' ') 이용하기
    • int(a), int(b) 여러번 쓸 필요없이 map(int, list) 로 한번에 처리해주자
    • map은 <map ~~> 객체로 저장되므로 list() 해주자
    • 쉽지만 문자열을 다루는 법과 map의 사용에 대해 다시 한번 생각해 볼 수 있는 문제

+ Recent posts