
문제

내 풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
// 무한 반복을 돌려서 숫자를 입력받는다.
while (true){
// 입력받는 숫자를 int 대신 String으로 입력받는다.
// char 변수를 통해 한글자씩 받을 것이므로
String str = br.readLine();
// 0이 들어오면 종료한다.
if (str.equals("0")){
break;
}else{
// 다시 while을 돌려서 String의 길이가 1 미만이면 종료하게 한다.
// 아닐 경우, forEach문을 통해 순회하며 sum에 더한다.
while (str.length() > 1){
int sum = 0;
// 24의 경우, 2와 4로 분리하기 위해 toCharArray()를 사용한다.
for (char ch : str.toCharArray()) {
sum += ch - '0';
}
str = String.valueOf(sum);
}
sb.append(str).append("\n");
}
}
System.out.println(sb.toString());
}
}
느낀점
💡 toCharArray()란?
arr[0] = 'E'
arr[1] = 'U'
arr[2] = 'N'
arr[3] = 'A'
arr[4] = 'H'
위 값처럼 char 배열을 반환한다.