[백준/1110/Java]더하기 사이클
풀이
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String first = br.readLine();
// 2자리 숫자가 아닐 경우 뒤에 0을 추가
if(first.length() == 1) first += "0";
int count = 0;
String temp = first;
while(true) {
String[] arr = temp.split("");
// 두 숫자 연산
String next = String.valueOf(Integer.parseInt(arr[0]) + Integer.parseInt(arr[1]));
// 연산 결과가 10 이상일 경우 1의자리수만 취득
if(next.length() == 2) {
next = next.substring(1, next.length());
}
temp = arr[1] + String.valueOf(next);
count++;
// 처리 결과값이 처음 취득한 값과 같을 경우 처리 종료
if(first.equals(temp)) break;
}
bw.write(String.valueOf(count));
bw.flush();
bw.close();
}
}
후기
정수형으로만 써도 가능하지만 문자열로 변환해서 하는게 더 심플해 보여서 연산을 제외한 부분은 문자열로 처리해봤습니다.
728x90
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준/1712/Java]손익분기점 (0) | 2022.04.21 |
---|---|
[백준/5622/Java]다이얼 (0) | 2022.04.17 |
[백준/10809/Java]알파벳 찾기 (0) | 2022.04.15 |
[백준/2753/Java]윤년 (0) | 2022.04.11 |
[백준/14681/Java]사분면 고르기 (0) | 2022.04.11 |