문제 : 1이 될 때 까지
import Foundation
// 파라미터로 number 값 N , divide 나누는 값 K으로 설정 하고, 리턴 값으론 횟수를 나타내는 것이 숫자 이므로 Int로 설정
func solution(number: Int, divide: Int) -> Int {
var count = 0 // 횟수를 저장할 수 있는 변수 생성
var objcet = number // 반복문에서 number를 활용하기 위해 object 변수 생성, number를 변수로 지정하지 않으면 파라미터는 let ( 상수 ) 이기 때문에 값을 변형 할 수 없음
while objcet != 1 { // number가 1이 아니라면
if objcet % divide == 0 { // N이 K로 나누어떨어지면
objcet = objcet / divide // N을 K로 나눈 몫을 n으로 지정
} else {
objcet -= 1 // n이 k로 나누어 떨어지지 않으면 object - 1
}
count += 1 // 카운트가 +1 되고 다시 while문으로 반복됌
if objcet == 1 { // number가 1이 되는 순간 break가 걸려 반복문이 종료됌
break
}
}
return count // while문을 통해 쌓인 count 리턴
}
출처: https://ios-developer-storage.tistory.com/entry/Algorithm-Swift-로-푸는-탐욕Greedy-문제-나동빈책 [마늘맨의 iOS는 즐거워:티스토리]
문제를 풀다가 굳이 파라미터로 받은 number 를 var object를 만들어 할당하는 이유에 대해 궁금해서
변수를 만들지 않고 코딩을 해보니

함수의 파라미터는 let ( 상수 ) 이기 때문에 값을 변형 할 수 없다는 오류창이 떴다.
이 또한 함수 파트 문법을 공부 할 때 배웠던 부분인데...ㅜㅜ
코딩테스트를 공부하면서 다시 한번 문법을 돌이켜 보게 된다.