반응형
문제
https://school.programmers.co.kr/learn/courses/30/lessons/120924
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
- 등비수열인지 등차수열인지 판별하는 로직이 있어야 할 것이라고 생각함
- Enum을 사용해서 타입을 정해줄 수 있지 않을까?!
- 1번 데이터와 2번 데이터의 차이를 먼저 계산하고 2번 데이터와 3번 데이터의 차이가 같다면 등차, 다르다면 등비 일 것이다!
소스코드
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Foundation | |
enum Sequence { | |
case arithmetic | |
case geometric | |
} | |
func solution(_ common:[Int]) -> Int { | |
let d = common[1] - common[0] | |
let sequenceType: Sequence = d == common[2] - common[1] ? .arithmetic : .geometric | |
switch sequenceType { | |
case .arithmetic: | |
return common.last! + d | |
case .geometric: | |
return common.last! * (common[1] / common[0]) | |
} | |
} |
후기
다른분들의 풀이를 봤는데 1줄로 짠 코드를 봤다.
풀이한 로직은 거의 비슷했다고 생각이 들었음!
반응형
'PS > 백준' 카테고리의 다른 글
[BOJ] 백준 2036 수열의 점수 (Swift) (0) | 2022.11.19 |
---|---|
[BOJ] 백준 5545 최고의 피자 (Swift) (0) | 2022.11.13 |
[BOJ] 백준 11725 트리의 부모 찾기 (Swift) (0) | 2022.11.11 |
[BOJ] 백준 11724 연결 요소의 개수 (Swift) (0) | 2022.11.11 |
[BOJ] 백준 4963 섬의 개수 (Swift) (0) | 2022.11.10 |