프로그래머스 알고리즘 Level 1 코틀린 기사단원의 무기
1. 첫 번째 풀이 - 과정은 맞는데 결과는 시간초과 class Solution { fun solution(number: Int, limit: Int, power: Int): Int = (1..number).map { i -> (1..i).count { i % it == 0 } }.map { if (it > limit) power else it }.sumOf { it } } 일단 이걸로 돌려봄 BUT 과정은 맞지만 시간복잡도에서 쓰레기임. 약수를 찾으려고 1부터 찾으려는 약수까지 반복문을 돌려서 count로 찾음. 이렇게 하면 O(N^2)인데 10만이면 10만 X 10만... 시간 초과 오류와 함께 해결 하지 못함. 2. 두 번째 풀이 - sqrt를 활용한 최적화 import kotlin.math.sqr..
2023.01.22