Programmers - 최댓값과 최솟값
문제 설명
문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 (최소값) (최대값)형태의 문자열을 반환하는 함수, solution을 완성하세요.
예를들어 s가 1 2 3 4라면 1 4를 리턴하고, -1 -2 -3 -4라면 -4 -1을 리턴하면 됩니다.
제한 조건
- s에는 둘 이상의 정수가 공백으로 구분되어 있습니다.
입출력 예
제출 코드
Python
1차 제출 코드
def solution(s):
s = list(s.replace(" ",""))[::-1]
arr = []
for i in range(len(s)):
if s[i] == '-':
arr[-1] = arr[-1] * -1
else:
arr.append(int(s[i]))
return str(min(arr)) + " " + str(max(arr))
뭐지, 뭐가 잘못된거지..
최종 제출 코드
def solution(s):
s = list(map(int, s.split()))
return str(min(s)) + " " + str(max(s))
Swift
func solution(_ s:String) -> String{
let arr = s.split(separator: " ").map { Int($0)! }
return "\(arr.min()!) \(arr.max()!)"
}
문제 풀이
-
빈칸을 기준으로
split
하며 동시에 값을 Int 타입으로map
한다. (map
내장 함수가 음수까지 처리가 가능한지 몰랐다..) -
배열 내 최소값과 최대값을 반환한다.
Swift
고차함수에 대해서 한번 정리해야겠다.
'Algorithm & SQL > Programmers' 카테고리의 다른 글
[Algorithm] [Python/Swift] Programmers - 다음 큰 숫자 (0) | 2020.06.13 |
---|---|
[Algorithm] [Python/Swift] Programmers - 카펫 (0) | 2020.06.07 |
[Algorithm] [Python/Swift] Programmers - 올바른 괄호 (0) | 2020.06.06 |
[Algorithm] [Python] Programmers - 다리를 지나는 트럭 (0) | 2020.06.03 |
[Algorithm] [Python] Programmers - "H-Index" (0) | 2020.06.02 |