풀이 흐름 설명
이 문제는 입력받은 숫자의 각 자리 숫자를 모두 더하는 문제이다.
먼저 입력값을 T에 저장하였다. 이후 T가 0보다 큰 동안 반복하면서 T % 10을 이용해 가장 오른쪽 자리 숫자를 구하였다. 구한 값을 sum에 더한 뒤, T /= 10을 해서 방금 더한 오른쪽 자리 숫자를 제거하였다. 이 과정을 반복하면 숫자의 모든 자리를 오른쪽부터 하나씩 확인할 수 있다. 예를 들어 6789가 입력되면 9, 8, 7, 6 순서로 꺼내서 더하게 되고 최종적으로 각 자리 숫자의 합을 구할 수 있다.
시간복잡도:O(T), 공간복잡도:O(1)
- [ x ] 1회
- 2회
- 3회
import java.util.Scanner;
import java.io.FileInputStream;
class Solution
{
public static void main(String args[]) throws Exception
{
Scanner sc = new Scanner(System.in);
int T;
T=sc.nextInt();
int sum = 0;
for(int test_case = 1; test_case <= T; test_case++)
{
sum += T%10;
T/=10;
}
System.out.print(sum);
}
}
