잡다한 배똥월드

728x90
코딩 테스트 풀이 체크리스트
2시간 내에 풀었는가? O
본인의 실력으로 풀었는가? O

 

 

1110번: 더하기 사이클

0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음,

www.acmicpc.net

 

 

 

 

 

 

import java.io.*;
public class Main {
	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
        //주어진 숫자
		int n = Integer.parseInt(br.readLine());
		
        //왼쪽 숫자
		int first = n / 10;
		//오른쪽 숫자
        int second = n % 10;
		
        //리턴할 횟수
		int result = 0;
        
        //while문은 계속 반복하다가 조건에 맞으면 탈출할 수 있도록 true 넣기
		while (true) {
			//while문이 시작하자마자 바로 횟수 + 1
            result++;
			
            //왼쪽 숫자와 오른쪽 숫자를 더해서 새로운 숫자를 만들고
			int create = first + second;
			
            //왼쪽 숫자에는 오른쪽 숫자를 재할당
            first = second;
            //오른쪽 숫자에는 새로 만든 숫자의 1의 자리 숫자를 할당
			second = create % 10;
			
            //만약 왼쪽 숫자와 오른쪽 숫자가 처음 주어진 숫자와 동일하다면 break
			if (first == n / 10 && second == n % 10) break;
		}		
		System.out.println(result);
	}
}

 

문제 결과 메모리 시간 코드 길이
1110 맞았습니다!! 14172 KB 124 ms 493 B

 

 

 

 

 

 

728x90

+ Recent posts