코딩테스트/Programmers
[Programmers] 입문) 자릿수 더하기
HONGGG
2023. 6. 27. 16:42
이번 문제는 1자리의 수만 계속 받아와야하는 문제이다.
가장 간단하게는 10으로 계속 나머지 연산을 하여 1자리 수를 받아와 덧셈하는 것이다.
using System;
public class Solution {
public int solution(int n) {
int answer = 0;
for(;n > 10; n /= 10)
answer += (n % 10);
answer += n;
return answer;
}
}
딱히 어려운 문제는 아니었지만 다른 분들이 풀이한 방법이 궁금했다.
확인 해본결과 나와 같이 처리하신 분들이 아니라면
숫자를 문자열로 캐스팅하고 한자리씩 다시 캐스팅 하는 방법이 다수였다.
해당 방법으로 다른 분들의 코드를 실행해본 결과 STL까지 포함한 문자열 캐스팅 방식은 나머지 연산보다 10배 이상 느린 것으로 확인되었다.