반응형
--------------------문제 설명--------------------
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
--------------------제한 사항--------------------
- N의 범위 : 100,000,000 이하의 자연수
-------------------- 풀이 --------------------
1
2
3
4
5
6
7
8
9
10
|
func solution(_ n:Int) -> Int
{
var answer:Int = 0
var reN:Int = n
while reN > 0 {
answer += (reN % 10)
reN /= 10
}
return answer
}
|
cs |
n으로 들어오는 수가 얼마나 큰지 알 수 없는 상황이여서 while문으로 해결
해당 문제의 경우 비슷한 문제로 정보처리기사에 출제가 되었 던 적이 있어 쉽게 풀수 있었습니다.
reN의 10으로 나눈 나머지가 자리값으로 되어 있으며 7번 라인에서 실제로 reN을 10으로 나누어 주면 Int값이기 때문에 정수만 남아 자리수가 줄어든다.
반응형
'Algorithm & Data Structure > Algorithm' 카테고리의 다른 글
[프로그래머스] 나누어 떨어지는 숫자 배열 .with Swift (0) | 2024.05.31 |
---|---|
[프로그래머스] 자연수 뒤집어 배열로 만들기 .with Swift (0) | 2024.05.30 |
[프로그래머스]문자열 나누기 with Swift (0) | 2024.05.28 |
[프로그래머스] 3진법 뒤집기 java 풀이 (1) | 2023.11.21 |
[프로그래머스] 같은 숫자는 싫어 문제 풀이 (1) | 2023.11.20 |