-
[1110] 더하기 사이클 - Java알고리즘 연습 2021. 11. 4. 23:42
https://www.acmicpc.net/problem/1110
1110번: 더하기 사이클
0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음,
www.acmicpc.net
1. 배운점
- 10을 활용하면 split을 쓰지 않더라도 직접 int 값을 한 자리 마다 구분해 다룰 수 있다.
2. 개선할 점
- 문제가 복잡하게 풀릴 것이라는 선입견을 내려놓는 일
3. 궁금한 점
import java.util.Scanner; public class N_1110_더하기사이클 { public static void main(String[] args) { // import java.util.Scanner Scanner scan = new Scanner(System.in); // 숫자 입력받기 int number = scan.nextInt(); // 더하기 사이클 int times = 0; int newNum = number; while(true) { if (newNum < 10) { newNum = (newNum * 10) + newNum; } else { int shareNum = newNum / 10; int remainNum = newNum % 10; newNum = (remainNum * 10) + (shareNum + remainNum)%10; } times++; if (newNum == number) { System.out.println(times); break; } } } }
'알고리즘 연습' 카테고리의 다른 글
[1152번] 단어의 개수 (0) 2021.11.05 [11720] 숫자의 합 - Java (0) 2021.11.04 [11654] 아스키코드 - Java (0) 2021.11.04 [2920] 음계 - Java (0) 2021.11.04 [10871] X보다 작은 수 - Java (0) 2021.11.03