[Lv. 1] 약수의 개수와 덧셈프로그래머스/Level 12023. 6. 23. 14:54
Table of Contents
문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/77884
난이도 : Level.1
언어 : Kotlin
문제 설명 :
두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.
제한 사항 :
- 1 ≤ left ≤ right ≤ 1,000
입출력 예 :
left | right | result |
13 | 17 | 43 |
24 | 27 | 52 |
풀이 :
class Solution {
fun solution(left: Int, right: Int): Int {
var answer: Int = 0
val arr = (left .. right).map { it }
for (i in arr.indices) {
val divisorArr = getDivisor(arr[i])
if (divisorArr.size % 2 == 0) answer += arr[i]
else answer -= arr[i]
}
return answer
}
fun getDivisor(num: Int): IntArray {
var arr = intArrayOf()
for (i in 1 .. num) {
if (num % i == 0) arr += i
}
return arr
}
}
'프로그래머스 > Level 1' 카테고리의 다른 글
[Lv. 1] 문자열 다루기 기본 (0) | 2023.06.26 |
---|---|
[Lv. 1] 문자열 내림차순으로 배치하기 (0) | 2023.06.23 |
[Lv. 1] 내적 (0) | 2023.06.23 |
[Lv. 1] 수박수박수박수박수박수? (0) | 2023.06.23 |
[Lv. 1] 없는 숫자 더하기 (0) | 2023.06.23 |
@스몰스테핑 :: 작은 발걸음
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!