728x90
반응형
문제
접근방법
1) 완전탐색
코드
접근방법 : 1)
class Solution {
public int result=-1;
public int solution(int x, int y, int n) {
changeNumber(x,y,n,0);
return result;
}
/**
* 숫자 변환하기
* 완전탐색을 이용해 x가 y가 되는 모든 방법을 탐색한다
* @param x y가 되기 위해 연산되는 자연수
* @param y x를 연산한 결과와 일치되어야 하는 자연수
* @param n x에 덧셈 연산시 사용할 자연수
* @param loop 연산 횟수
*/
public void changeNumber(int x, int y, int n, int loop) {
if(x>y)
return;
else if(x==y) {
result=result==-1?loop:(result<loop?result:loop);
return;
}
changeNumber(x*2,y,n,loop+1);
changeNumber(x*3,y,n,loop+1);
changeNumber(x+n,y,n,loop+1);
}
}
결과
주의사항
1) 완전탐색시 시간 초과가 발생
2) loop가 int의 범위를 벗어나 런타임 에러가 발생함
728x90
반응형
'코딩테스트' 카테고리의 다른 글
[코테/JAVA] 프로그래머스 : 모음사전 (0) | 2023.08.14 |
---|---|
[코테/JAVA] 프로그래머스 : 멀리 뛰기 (0) | 2023.08.10 |
[코테/JAVA] 프로그래머스 : 덧칠하기 (0) | 2023.05.31 |
[코테/JAVA] 연습문제 : 공원 산책 (0) | 2023.05.24 |
[코테/JAVA] 연습문제 : 바탕화면 정리 (0) | 2023.05.21 |
댓글