728x90
https://school.programmers.co.kr/learn/courses/30/lessons/87389
Code
class Solution {
fun solution(n: Int) = (1..n).first { n % it == 1 }
/*
fun solution(n: Int): Int {
var answer: Int = 0
for(i in 1 until n){
if (n % i == 1) return i
}
return n-1
}
*/
}
사실 더 좋은 아이디어가 있는지는 모르겠지만, 하나씩 순회하면서 찾아봤다.
밑에서부터 하나씩 숫자를 올려가며 n을 나누고, 나머지가 1이면 리턴해줬다.
처음에는 기존에 사용하던 방식인 for문을 사용해서 하나씩 올려줬지만, 다른사람의 풀이를 보니 간단하고 아이디어가 좋아 보였다.
코틀린스러운 코드라 생각해서 블로그에 남겨봤다.
first{}라는 함수도 처음 알게돼서 신기했고, 앞으로 유용하게 사용할 수 있을 것 같다.
728x90