![[프로그래머스/Kotlin] 자릿수 더하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fbj7pZc%2FbtsEGL9XYBi%2FAAAAAAAAAAAAAAAAAAAAAA0teyqHja-TXiNsy1XkbBkUZtj5KZGNlmFlNst7-spq%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DJyg73cIW2XXwFMbgIp7uv8dhfyw%253D)
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
📑 문제 [ 더 보기 클릭! ]
🌱아이디어
두 가지 방법을 생각해 낼 수 있다!
각 숫자를 하나하나씩 String으로 떼어내거나 또는 % (나머지)를 이용하여 마지막까지 계속 나누어보자!
🔍 코드 및 풀이
class Solution {
fun solution(n: Int): Int {
var answer = 0
var temp = n
while(temp != 0){
answer = answer + temp % 10
temp = temp / 10
}
return answer
}
}
temp = n이라고 지정을 해 두었습니다.
while문을 통해 temp 가 0이 되지 않을 때 동안 무한반복을 합니다.
각 자릿수는 %를 통해 쉽게 알 수가 있는데 answer = answer + temp % 10을 통해 자릿수를 알아줍니다.
마지막으로 temp에서 10을 나누어주어 temp의 값을 재지정해줍니다.
즉, 하나하나 뜯어보자면
temp = n 이므로 n 이 123일 때 temp는 123이 되고
123을 10으로 나눈 나머지 값은 3으로 answer은 3이 됩니다.
temp = temp / 10, 즉 temp는 아직 123이므로 123을 10으로 나누게 되면 12가 되게 됩니다.
temp는 0이 아니기 때문에 while의 조건문에 의해 다시 반복하게 됩니다.
다시 answer + temp % 10을 하게 되면 나머지는 2가 되어 answer에 2를 더해줍니다.
이를 반복하게 되면 마지막에 temp는 0이 되어 while문이 멈추게 되고 answer을 return 해줍니다.
📗 느낀 점
average 함수는 자주 쓰이는 것 같습니다 익혀두면 좋습니다!
'Algorithm > - Programmers' 카테고리의 다른 글
[프로그래머스/Kotlin] 나머지가 1이 되는 수 찾기 (0) | 2024.02.14 |
---|---|
[프로그래머스/Kotlin] 약수의 합 (1) | 2024.02.13 |
[프로그래머스/Kotlin] 평균 구하기 (0) | 2024.02.07 |
[프로그래머스/Kotlin] 짝수와 홀수 (0) | 2024.02.06 |
[프로그래머스/Kotlin] 배열의 평균값 (0) | 2024.02.05 |
주코딩의 개발 노트!
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!