[프로그래머스] Lv. 1 나머지가 1이 되는 수 찾기(Kotlin)

hxeyexn·2023년 4월 5일
0
post-thumbnail

나머지가 1이 되는 수 찾기

문제

자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다.

제한사항

  • 3 ≤ n ≤ 1,000,000

풀이

class Solution {
    fun solution(n: Int): Int {
        var x: Int = 0
        
        for(i in 1..n) {
            if(n % i == 1) {
                x = i
                break
            }
        }
        return x
    }
}

다른 사람 풀이1

class Solution {
	fun solution(n: Int) = (1..n).first { n % it == 1 }
}
  • first 함수
    컬렉션 인자 중 첫번째 인자를 리턴 n.first()
    어떠한 조건을 만족하는 첫번째 인자도 리턴 가능 n.first {조건}

  • last 함수
    마지막 인자 반환

  • find 함수
    조건에 일치하는 값 반환 n.find {조건}

  • first vs find
    찾는 값이 없는 경우 find는 Null 반환, first는 예외 발생
    예외발생을 원치 않는 경우 firstOrNull로 바꾸면 null이 반환

다른 사람 풀이2

class Solution {
	fun solution(n: Int): Int {
    	var answer = 1
        while (n % answer != 1) {
        	answer++
        }
        return answer
    }
}
profile
Android Developer

0개의 댓글