[백준 1110번] 더하기 사이클
[백준 1110번] 더하기 사이클
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | package _1월_2주차; import java.util.Scanner; public class 백준_손수경_정답_1110 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt(); int temp = num; int cnt = 1; while (true) { if ((int)Math.log10(temp) == 0) { //규칙상 나온 숫자가 한자리수인 경우 temp += (temp * 10); } else { int first = (temp % 10) * 10; int second = (temp % 10) + (temp / 10); if ((int)Math.log10(second) != 0) { //각 자리수의 합이 한자리수가 아닌 경우 //-> 2자리수임을 알기 위해서는 String으로 데이터형을 변환하는 방법도 있지만, 밑이 10인 경우를 이용해서 구할 수도 있다. second = second % 10; } temp = first + second; } if (temp == num) {break;} cnt++; } System.out.println(cnt); } } | cs |
문자열의 길이 구하기
문자열.length를 통해서 문자열의 길이를 구할 수 있다.
숫자형의 길이 구하기
방법 1
- 숫자형을 문자열로 형 변환
- 문자열.length를 통해서 길이를 구함
- 숫자와의 비교가 필요하다면 다시 형 변환을 해줌
방법 2
Math.log10(숫자형 변수) 를 이용한다.
밑이 10인 경우는 10부터 0이 아닌 다른 값이 나오기 때문에 변수의 길이를 간접적으로 확인할 수 있다.
댓글남기기