요즘 시간 날때마다 프로그래머스에서
문제를 하나씩 풀어보고 있습니다.
문제 내용은 그리 길지 않네요.
이상하게 문제 내용이 길고 제한 사항이 많으면 시작부터 좀 꺼려 집니다.... 다른 문제를 고를껄 그랬나
하지만 이 문제는 짧고 원하는게 명확하네요.
주어진 string에서 최소값과 최대값만 찾아서 리턴하면 되는군요
<생각의 과정>
1. string 안에서 숫자들을 뽑아내서 리스트를 만드는게 먼저일것 같다
2. 어떻게 숫자 사이 사이에 있는 공백들을 제거할것인가?
3. loop을 돌려도 되지만 그냥 split()을 쓰자.
4. 그 후에 리스트에서 최소값과 최대값을 찾는건 매우 쉬움
<풀이>
def solution(s):
s_list = s.split()
num_list = [int(x) for x in s_list]
maxi, mini = max(num_list), min(num_list)
return str(mini) + ' ' + str(maxi)
정말 짧네요.
우선은 split()을 써서 숫자만 빼낸 리스트를 만들었습니다.
하지만 리스트 안에 있는 숫자들은 int 형식이 아닌 str 형식이죠
그래서 안에 있는 숫자들을 모두 integer 형식으로 바꾸는 작업을 한번 거쳤습니다.
사실 이 부분은 그냥 map을 써도 괜찮습니다.
그리고 나서는 max와 min 함수를 이용해서 최대값과 최솟값을 찾은 후
원하는 포멧대로 리턴 했어요.
결과는
'Algorithm' 카테고리의 다른 글
[알고리즘 문제 풀이] - 이진 변환 반복하기 (0) | 2020.12.25 |
---|---|
[알고리즘 문제 풀이] - 짝지어 제거하기 (0) | 2020.12.23 |
[알고리즘 문제 풀이] - 숫자의 표현 (0) | 2020.12.20 |
[알고리즘 문제 풀이] - 최솟값 만들기 (0) | 2020.12.20 |
[코딩테스트 준비] 완전 탐색 ( Brute-Force Search ) - 모의 고사 문제 (Python 풀이) (0) | 2020.12.08 |