728x90
코드 힌트
- 각 자리수의 합 구하기:
- 주어진 숫자 n의 각 자리수를 추출해서 더한 값을 구하는 문제입니다.
- n = 1234라면, 1 + 2 + 3 + 4 = 10을 계산하는 방식입니다.
- 숫자의 마지막 자리 추출하기:
- num % 10은 숫자의 마지막 자리를 가져오는 연산입니다.
- 1234 % 10은 4를 반환합니다.
- 숫자 줄이기:
- num /= 10은 마지막 자리를 제거하는 과정입니다.
- 1234를 10으로 나누면 123이 되어, 다시 3을 처리할 수 있습니다.
- 반복:
- 이 과정을 num이 0이 될 때까지 반복하여 각 자리수를 모두 더한 값을 계산합니다.
- 다른 방법
- while 문을 사용하여 % 연산자를 이용해 자릿수를 구하는 방식도 있지만 문자열로 변경하여 풀 수도 있습니다.
- 만약 조금 더 알고 싶다면 여기를 누르세요.
정답은 더보기 클릭
더보기
class Solution {
fun solution(n: Int): Int {
var result = 0 // 각 자리수의 합을 저장할 변수
var num = n // 원본 숫자 n을 num에 복사하여 사용. 나눗셈 연산을 통해 자리수를 구할 때 원본이 변경되지 않도록 하기 위함
// num이 0보다 클 때까지 반복
while (num > 0) {
result += num % 10 // num의 마지막 자리를 result에 더함 (num % 10은 num의 마지막 자리 숫자를 반환)
num /= 10 // num을 10으로 나누어 마지막 자리를 제거
}
return result // 최종적으로 각 자리수의 합을 반환
}
}
var num을 선언해야 하는 이유:
- 코틀린에서 함수의 매개변수는 기본적으로 val로 처리되어 값을 변경할 수 없습니다.
- 따라서, 함수 내부에서 값을 변경하며 사용할 수 있도록 var num을 새로 선언하여 n의 값을 복사해 사용하는 것입니다.
728x90
'프로그래머스(Kotlin) > Level 1' 카테고리의 다른 글
[프로그래머스 (Kotlin)] 음양 더하기 (1) | 2024.10.03 |
---|---|
[프로그래머스 (Kotlin)] 콜라츠 추측 (0) | 2024.10.02 |
[프로그래머스 (Kotlin)] 서울에서 김서방 찾기 (1) | 2024.10.02 |
[프로그래머스 (Kotlin)] 하샤드 수 (0) | 2024.09.30 |
[프로그래머스 (Kotlin)] 자연수 뒤집어 배열로 만들기 (4) | 2024.09.29 |