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 |