티스토리 뷰

공부하기/코딩테스트

[swea/java] 21425. +=

징짱짱 2025. 11. 13. 17:48
더보기

C, C++, Python, Java 등의 언어에는 += 연산자가 있다. 정수형 변수 x, y가 있을 때 “x += y”를 하면 x에 저장된 값이 (기존에 x에 저장되어 있던 값) + (기존에 y에 저장되어 있던 값)으로 바뀐다.

 

현재 x에 저장된 값은 A, y에 저장된 값은 B이다. 당신은 “x += y” 또는 “y += x” 연산을 원하는 순서대로 원하는 만큼 수행하여, x나 y 둘 중 하나 이상에 저장된 값이 N 초과가 되게 하려고 한다. 연산을 합쳐서 최소 몇 번 수행해야 하는지 계산하는 프로그램을 작성하라.

 

작은 수에 큰 수를 더해줘야 가장 적은 연산 회수로 끝낼 수 있기 때문에

1. a, b, n값을 읽고

2. a와 b 크기 비교 후 더하기를 진행해줬습니다. 

 

public class Solution {
/*
 A, B, N 값 제공
 A += B 혹은 B += A 해서 N보다 크거나 같은 값을 만드는 것.
 +=연산을 몇번 하는지를 구하고 그 값을 리턴하는 것 
 
 */
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int T;
		T = sc.nextInt();
		
		for(int t = 1; t<=T ; t++) {
			int cnt = 0;
			
			int a = sc.nextInt();
			int b = sc.nextInt();
			int n = sc.nextInt();
			
			while(a <= n && b <=n) {
				
				if(a > b) {
					b += a;
				} else {
					a += b;
				}
				
				cnt++;
				
			}		
			System.out.println(cnt);
		}
		
	}

}