반응형 Lesson 102 Lesson10 - Peaks 자세한 문제는 여기서 확인하시면 됩니다. 이 문제는 A[N-1] A[N+1] 인 N 을 Peak이라 했을 때 Peak을 최소한 1개를 포함하는 block은 몇개인가를 찾는 문제입니다. block은 array A를 동일한 갯수로 나눈 각각을 말합니다. code를 보면 fun solution(A: IntArray): Int { if(A.size A[i - 1] && A[i] > A[i + 1]) { k.add(i) } } if(k.size == 0){ return 0 } for(i in k.size downTo 1){ if(A.size.. 2020. 1. 6. Lesson 10 - CountFacotrs 자세한 문제는 여기서 확인하시면 됩니다. 간잔하게 주어진 N의 약수들을 계산하는 문제입니다. 첫번째 code는 fun solution(N: Int): Int { var count = 0 for(i in 1..N/2){ if(N%i == 0){ count++ } } return count+1 } 이렇게 했습니다. 하지만 엄청 큰 N수에 대해서 퍼포먼스가 나오지 않았습니다. 그래서 숫자들을 나열하고 생각해보니 1 2 4 8 16 / 1 2 3 4 6 9 12 18 36 를 보면 제곱근의 약수의 2배 -1 만큼 값이 존재하는 것을 확인 할 수 있고 1 2 3 4 6 8 12 24 의 경우에는 제곱근의 약수의 2배 만큼 존재하는 것을 확인 할 수 있습니다. 그래서 그 code는 fun solution(N: In.. 2020. 1. 6. 이전 1 다음 반응형