반응형
안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1936 : [재귀함수] 두 노드간의 거리 (자바, JAVA)입니다.
Intro
Question
문제 설명
입력
두 노드 a,b가 입력된다.(1<=a,b<=2,100,000,000)
출력
두 노드 a,b의 거리를 출력한다.
예시
- 입력 : 3 4
- 출력 : 3
Solution (풀이)
- 풀이 : 메모리 11164, 시간 : 67
public class Answer1 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
System.out.println(loop(a, b));
}
public static int loop(int a, int b) {
if (a==b) { // 거리가 같을 때에는 0을 리턴
return 0;
} else if(a>b) { // a가 더 큰 경우에는 a를 2로 나누고 +1
return loop(a/2, b)+1;
} else {
return loop(a,b/2)+1; // b가 더 큰 경우에는 b를 2로 나눈 결과에 1을 더한다.
}
}
}
Ranking(순위)
반응형
'Algorithm > CodeUp' 카테고리의 다른 글
[CodeUp_Java] Q1925 : nCr (Small) (0) | 2022.11.30 |
---|---|
[CodeUp_Java] Q1935 : LCA (3n+1) (0) | 2022.11.30 |
[CodeUp_Java] Q1912 : 팩토리얼 계산 (0) | 2022.11.29 |
[CodeUp_Java] Q1901 : 1부터 n까지 출력하기 (0) | 2022.11.29 |
[CodeUp_Java] Q1905 : 1부터 n까지 합 구하기 (0) | 2022.11.29 |