반응형
안녕하세요. 개발 중인 정주입니다.
오늘은 프로그래머스 - 약수의 개수와 덧셈 문제를 풀었습니다.
목차
Github
문제 링크
https://programmers.co.kr/learn/courses/30/lessons/77884
풀이
이번에도 1 레벨답게 쉬운 문제였습니다.
처음으로 자동완성에 의존하지 않고 프로그래머스 페이지 안에서 해결을 했던 것 같네요.
이번 문제 해결은 고차 함수도 적극 활용해봤습니다.
그럼에도 한 줄 솔루션은 가독성이 너무 떨어지는 것 같아 적당히 타협을 봤습니다.
전체 코드
import Foundation
func solution(_ left:Int, _ right:Int) -> Int {
let result = (left...right).map { i in
let count = (1...i).filter { (i % $0) == 0 }.count
return (count % 2 == 0) ? i : -i
}.reduce(0, +)
return result
}
let left = 13, right = 17
print(solution(left, right))
아직은 초보 개발자입니다.
더 효율적인 코드 훈수 환영합니다!
공감과 댓글 부탁드립니다.
반응형