마지막 두 원소
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
이번 문제는 리스트의 마지막 두 원소를 비교해서 조건에 따라 새로운 값을 추가하는 문제야.
- 리스트에서 마지막 두 개의 원소를 확인하는 거야. 예를 들어, 리스트가 [1, 2, 3, 4]라고 하면, 3과 4를 비교하는 거지.
- 마지막 원소가 그 전 원소보다 크면, 두 값의 차이를 리스트에 추가하는 거야. 예를 들어, 마지막 원소 4가 그 전 원소 3보다 크니까 4 - 3 = 1을 추가해.
- 만약 마지막 원소가 그 전 원소보다 크지 않으면, 마지막 원소를 두 배로 해서 리스트에 추가해. 예를 들어, 마지막 원소가 2인데 그 전 원소가 3이라면, 2 * 2 = 4를 리스트에 더해주는 거야.. 어렵지 않지? ໒・ﻌ・७
func solution(_ num_list: [Int]) -> [Int] {
var numList = num_list
if numList.count >= 2 {
let lastElement = numList[numList.count - 1] // 마지막 원소
let secondLastElement = numList[numList.count - 2] // 그 전 원소
if lastElement > secondLastElement {
numList.append(lastElement - secondLastElement) // 마지막이 더 크면 차이를 추가
} else {
numList.append(lastElement * 2) // 그렇지 않으면 마지막 원소의 두 배를 추가
}
}
return numList // 새로운 리스트 반환
}
요약하자면, 리스트의 마지막 두 개 원소를 비교해서,
- 마지막 원소가 더 크면 차이를 추가하고,
- 그렇지 않으면 마지막 원소의 두 배를 리스트에 더하는 거~!
이해하기 쉬웠지? ૮⍝• ᴥ •⍝ა
'iOS 앱 개발자 프로젝트 > 알고리즘 코드카타' 카테고리의 다른 글
[Algorithm] 가장 많이 받은 선물 (w/ Swift) (2) | 2024.11.29 |
---|---|
[Algorithm] 배열 조각하기 (w/ Swift & Python) (2) | 2024.10.10 |
[Algorithm] 문자열 다루기 (w/ Swift) (2) | 2024.10.07 |
[Algorithm] 길이에 따른 연산 (w/ Swift) (5) | 2024.09.15 |
[Algorithm] 영어가 싫어요 (w/ Swift) (0) | 2024.09.15 |