프로그래머스

프로그래머스 - 최대값과 최솟값 [Python]

SS_G 2023. 7. 25. 23:04
반응형

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

안녕하세요, 오늘은 Python을 사용하여 주어진 문자열에서 최솟값과 최댓값을 찾는 문제를 다루어 보겠습니다.

 

문제 이해

오늘 다루게 될 문제는 공백으로 구분된 숫자들이 저장된 문자열이 주어졌을 때, 이 중 최소값과 최대값을 찾아 "(최소값) (최대값)" 형태의 문자열을 반환하는 문제입니다.

예를 들어, 입력 문자열이 "1 2 3 4"라면 이 중 최소값은 1, 최대값은 4이므로 "1 4"를 반환해야 합니다. 또 다른 예로, "-1 -2 -3 -4"라면 최소값은 -4, 최대값은 -1이므로 "-4 -1"을 반환해야 합니다. 

문제 접근 방식

이 문제를 해결하기 위한 접근 방식은 다음과 같습니다:

먼저 입력 문자열을 공백을 기준으로 분리하여 숫자들의 리스트를 만듭니다.
그 다음, Python의 내장 함수인 min과 max를 사용하여 이 리스트에서 최소값과 최대값을 찾습니다.
마지막으로, 이 두 숫자를 문자열로 변환하고, 이 두 문자열을 공백으로 연결하여 반환합니다

 

코드 작성

def solution(s):
    s = list(s.split())
    s_int = list(map(int, s))
    min_s = min(s_int)
    max_s = max(s_int)
    return f"{min_s} {max_s}"

코드 해설

이 함수는 문자열을 공백으로 분리하여 숫자의 리스트를 만듭니다. 이 때 map 함수를 사용하여 문자열의 각 부분을 정수로 변환합니다. 그 다음, min과 max 함수를 사용하여 이 리스트에서 최소값과 최대값을 찾습니다. 이 두 숫자를 문자열로 변환하고, 이 두 문자열을 공백으로 연결하여 결과를 반환합니다.

마치며

이 방법을 사용하면, 문자열 안의 숫자 중 최솟값과 최댓값을 쉽게 찾아낼 수 있습니다.

Python의 내장 함수들인 min, max, map, 그리고 문자열 메서드인 split을 활용하여 코드를 간결하고 이해하기 쉽게 작성할 수 있습니다. 이런 문제를 통해 Python의 기본적인 기능들을 활용하는 방법을 익힐 수 있습니다.

반응형