재귀

코딩테스트 일기 (BAEKJOON)

BEAKJOON / 백준 - JAVA 17070번 파이프 옮기기 1

2024.09.15기준 - 골드5백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 여러가지 파이프를 이용해 가장 끝 지점까지 도달하도록 하는 방법의 개수를 출력하는 문제입니다. 문제 접근파이프에 경로에 따라 움직일 수 있는 방향이 제한 되기 때문에, 파이프의 방향에 주의합니다.모든 방향을 다 탐색하기 위해 탐색할 방향을 체크해주고 재귀를 빠져나오면서 체크를 해제를 해주었습니다.1. 입력받은 집의 구조를 배열에 저장하면서 벽의 위치를 체크해줍니다.home = new int[n][n];visit = new boolean[n][n];StringTokenizer st;for (int i = 0; i  2. 처음에는 무조건 가로로되어 있는 (0, 0), (0, 1)의 파이프에서 시작을 해 먼저 체크..

코딩테스트 일기 (BAEKJOON)

BEAKJOON / 백준 - JAVA 2448번 별 찍기 - 11

2024.09.08기준 - 골드4백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 예제를 보고 규칙을 찾아내 수를 입력받으면 규칙에 맞게 출력하는 문제입니다. 1. 우선 재귀할 베이스로 사용할 삼각형을 먼저 만들어 주었습니다.// 우선 삼각형 모양을 먼저 입력시켜줬습니다.sb.append(first());// 기본적으로 삼각형을 만들어줄 함수.private static String first() { StringBuilder sub = new StringBuilder(); // \n이 들어가면 그 만큼 길이가 길어져 한 줄의 문자열로 만들어서 계산을 진행합니다. sub.append(" * "); sub.append(" * * "); sub.append("****..

코딩테스트 일기 (BAEKJOON)

BEAKJOON / 백준 - JAVA 18511번 큰 수 구성하기

2024.08.12기준 - 실버5백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 수 n과 1 ~ 9까지의 숫자들이 주어졌을 때, 1 ~ 9 까지 주어진 수를 이용해 n보다 작거나 같은 수 중 제일 큰 값을 출력하는 문제입니다. 1. 이 문제는 재귀함수를 통해 풀어나갔습니다.private static void function(int num) { if (num > n) { // 값이 더 커지면 멈춘다. return; } if (max = 0; i--) { function(num * 10 + arr[i]); }} 모든 수를 일의 자리에 추가를 해주면서 주어진 수가 n보다 커지면 break를 크지 않고, 현재 max값 보다 크다면 max값에 저장을 ..

코딩테스트 일기 (BAEKJOON)

BAEKJOON / 백준 - JAVA 16953번 A->B

2024.04.26기준 - 실버2백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 특정 연산을 통해 목표 값에 도달하는 문제입니다.2가지 특정 연산이 있습니다.주어진 숫자 n에 곱하기 2주어진 숫자 오른쪽에 1을 추가search() 메서드를 호출을 하여 문제를 해결했습니다.search()는 시작 숫자가 목표 숫자와 같으면 연산 횟수를 반환합니다.같지 않으면, 시작 숫자가 목표 숫자보다 작을 경우 곱하기 2 or 오른쪽에 1을 추가하는 연산을 수행합니다.곱하기 2를 했을 때와 오른쪽에 1을 추가하는 경우를 재귀적으로 계산을 했습니다.두 연산 결과가 모두 유효할 경우, 더 작은 연산 횟루를 반환합니다.한 연산 결과만 유효한 경우 유효한 값만 반환합니다.어떠한 연산애도 값이 만들어 지지 않는다면..

Coding_Slowly
'재귀' 태그의 글 목록