https://school.programmers.co.kr/learn/courses/30/lessons/12931
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
제한사항
- N의 범위 : 100,000,000 이하의 자연수
발상
자리수를 구하는 문제이다.
나머지와 몫을 이용하여 구하면 되는데, int의 길이를 측정하는 방법을 어떻게 할지 고민하였다.
스트링으로 변환하여 length를 구해도 되지만 로직이 많이 들어갈 것 같아서 x.xx * 10^n을 생각하고 10의 로그를 취하는 방법을 사용하였다.
의사코드
1. 자리수 길이 측정
2. 반복문(자리수 만큼)
1. 10으로 나눈 나머지 더하기
2. 주어진 값을 10으로 나누기
3. 결과값 반환
개선
Math같은 기본 함수를 자주 활용하도록 연습해야 겠다.
'IT > Algorithm' 카테고리의 다른 글
[programmers] 소수 찾기 (0) | 2022.07.08 |
---|---|
[programmers] 정수 내림차순으로 배치하기 (0) | 2022.07.08 |
[programmers] 약수의 합 (0) | 2022.07.08 |
[programmers] 서울에서 김서방 찾기 (0) | 2022.07.08 |
[programmers] 부족한 금액 계산하기 (0) | 2022.07.07 |