상세 컨텐츠

본문 제목

[Go] 프로그래머스 연습문제 - 자릿수 더하기

Go/Programmers

by Gopythor 2022. 5. 22. 21:25

본문

728x90
반응형

문제 설명

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.

제한사항
  • N의 범위 : 100,000,000 이하의 자연수

 

입출력 예
123 6
987 24
입출력 예 설명

입출력 예 #1
문제의 예시와 같습니다.

입출력 예 #2
9 + 8 + 7 = 24이므로 24를 return 하면 됩니다.

 

내코드

func solution(n int) int {
    answer := 0
    de := 10
    answer += n%de
    n -= n%de
    for n!= 0{
        beforede := de
        de = de *10
        answer += n%de/beforede
        n = n - n%de

 
    }

    return answer
}
  • 일의 자리를 구하기 위해 10을 나눈 나머지를 answer에 더한다.
  • 그리고 그 나머지를 n에서 뺀다.
  • for 문에서는 deca를 줄여 de로 쓰고 매회 10을 곱하여 나눈다.
  • beforede는 그 전 값을 기억한다.

다른 사람 풀이

func solution(n int) int {
    answer := 0

    for {
        answer += n % 10
        n /= 10

        if n == 0 {
            break
        }
    }

    return answer
}
  • %는 나머지만을 가져온다.
  • /는 몫만을 남긴다.
  • ex 123%10 = 3
  •     123/10 = 12
  •     12%10 = 2
  •     12/10 = 1
  •     1%10 = 1
  •     1/10 = 0
728x90
반응형

관련글 더보기

댓글 영역