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의 기본적인 기능들을 활용하는 방법을 익힐 수 있습니다.
'프로그래머스' 카테고리의 다른 글
프로그래머스 - 요격 시스템 [Python] (0) | 2023.07.26 |
---|---|
프로그래머스 - JadenCase 문자열 만들기 [Python] (0) | 2023.07.26 |
프로그래머스 - 가장 가까운 같은 글자 [Python] (1) | 2023.06.18 |
프로그래머스 - 푸드 파이트 대회 [Python] (0) | 2023.06.12 |
프로그래머스 - K번째수 [Python] (0) | 2023.06.12 |