[SWEA] 3750. Digit sum

김휴지 ㅣ 2023. 5. 18. 03:22

https://swexpertacademy.com/main/code/problem/problemDetail.do

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com


접근 방법

단순히 반복문을 이용했다.

수를 문자열로 받아서 한 글자씩 정수로 만들어 합을 구하고 합이 한 자리 수가 될 때까지 반복했다.

어떻게 하면 형태 변환을 간단하고 적게 할 수 있을지 고민했던 문제 같다.

 

소스 코드

import java.util.*;
import java.io.*;
 
class Solution {
    public static void main(String[] args) throws IOException {
        Scanner sc = new Scanner(System.in);
        int T = sc.nextInt();
        for(int t=1; t<=T; t++) {
            int sum = 0;
            String s = sc.next();
             
            sum = f(s);
            while(sum/10 != 0) 
                sum = f(sum+"");
             
            System.out.println("#" + t + " " + sum);
        }
    }
    static int f(String n) {
        char[] arr = n.toCharArray();
        int sum = 0;
        for(char c : arr)
            sum += (c-'0');
         
        return sum;
    }
}

 

'코테 > 자바' 카테고리의 다른 글

[SWEA] 11315. 오목 판정  (0) 2023.05.18
[SWEA] 5215. 햄버거 다이어트  (0) 2023.05.18
[SWEA] 3307. 최장 증가 부분 수열  (0) 2023.05.18
[SWEA] 4615. 재미있는 오셀로 게임  (0) 2023.05.18
[SWEA] 1226. 미로1  (0) 2023.05.18