[programmers] 프로그래머스 Level2 최대값과 최솟값
(파이썬 Python)
* 문제출처 : 프로그래머스 코딩 테스트 연습, 알고리즘 문제
1) 문제
z
https://programmers.co.kr/learn/courses/30/lessons/12939
코딩테스트 연습 - 최댓값과 최솟값
문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를
programmers.co.kr
2) 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
def solution(s):
cur_min = 2200000000
cur_max = -2200000000
s_numbers = s.split(" ")
for i in range(len(s_numbers)):
s_number = s_numbers[i]
cur_int = int(s_number)
if(cur_int < cur_min):
cur_min = cur_int
if(cur_max < cur_int):
cur_max = cur_int
return str(cur_min) + " " + str(cur_max)
|
cs |
3) 풀이 과정
(1)
정수의 범위가 정해져 있지 않아 21억을 올림하여
22억으로 설정
(2)
입력 받은 s을 공백기준으로 분리 후 리스트로 타입변환 후
최댓값과 최솟값으로 업데이트를 하기 위해
cur_max = (음수) 22억
cur_min = (양수) 22억
으로 설정
그래야만, 부호가 반대이기에 각 요소들의 값들을 업데이트 시 max 값과 min에 대입이 가능
4) 정리 노트
만약 위의 내용이 이해가 안간다면 아래와 같은 간단한 코드 이해
1
2
3
4
5
6
7
8
9
|
numbers = [1, 2, 5, 4, 50, 20, 30]
max_num = -1
for i in range(len(numbers)):
if(numbers[i] > max_num):
max_num = numbers[i]
print(max_num)
|
cs |
'*Algorithm > Programmers_Level2' 카테고리의 다른 글
[programmers] 프로그래머스 Level2 기능개발(파이썬 Python) (0) | 2021.07.20 |
---|---|
[programmers] 프로그래머스 Level2 프린터(파이썬 Python) (0) | 2021.05.09 |
[programmers] 프로그래머스 Level2 카펫(파이썬 Python) (0) | 2021.05.09 |
[programmers] 프로그래머스 Level2 타겟 넘버 (파이썬 Python) (0) | 2021.04.24 |
[programmers] 프로그래머스 Level2 행렬의 곱셈(파이썬 Python) (0) | 2020.11.19 |
댓글