no image
JAVA [Algorithm] - 백준 14888 연산자 끼워 넣기
📝문제 설명📢입출력 예시 ✏️문제 풀이우리는 지금까지 백트래킹 문제를 해결 했을 때 재귀함수로 호출하기 때문에depth가 마지막까지 도달했을 때 즉, 재귀함수(stack)의 마지막 부분부터 로직을 처리하였다. 이번 문제는 연산을 맨 앞부터 수행해야 한다는 점이 지금까지 풀었던 문제와 약간 다른 문제다.그러므로 생각해야될 것은 1. 연산을 수행했으면 그 다음 재귀함수에게 값을 어떻게 전달해 줄 것인가?2. 연산을 어떻게 앞부터 수행할 것인가?3. 연산이 완료 되었으면 어떻게 최소, 최대 값을 비교할 것인가? 1번을 먼저 해결하기 위해서는 재귀함수에게 연산 후의 값을 매개변수로 전달해주는 식으로 해야한다.2번을 해결하기 위해서는 1번에서 해결한 문제인 매개변수로 값을 전달해줄 때 switch나 if문으로..
2025.01.08
no image
JAVA [Algorithm] - 백준 14889 스타트와 링크
📝문제 설명 📢입출력 예시 ✏️문제 풀이우선 N 값마다 만들 수 있는 팀의 경우의 수를 생각해보자N = 4 인 경우                       N = 6인 경우(0, 1) VS (2, 3)                         (0, 1, 2) VS (3, 4, 5)(0, 2) VS (3, 4)                         (0, 1, 3) VS (2, 4, 5)(0, 3) VS (1, 2)                         (0, 1, 4) VS (2, 3, 5)                                                 (0, 1, 5) VS (2, 3, 4)                                        ..
2025.01.08
no image
JAVA [Algorithm] - 백준 9663 N-Queen
📝문제 설명 📢입출력 예시 ✏️문제 풀이백트래킹의 대표적인 문제로 백트래킹의 근본 문제라고 볼 수 있다.N-Queen 문제 이해가 잘 안된다면 밑의 링크를 통해 어떤 방식으로 접근해야 되는지 알아보자.https://namu.wiki/w/%EC%97%AC%EB%8D%9F%20%ED%80%B8%20%EB%AC%B8%EC%A0%9C 여덟 퀸 문제여덟 퀸 문제는 1848년 막스 베첼이 처음으로 제안한 퍼즐 문제로, 수학 과 컴퓨터과학 에서 알고리즘 문제namu.wiki 우리가 고려해야 될 점은 단 2가지이다.1. 재귀함수를 어떻게 호출할 것인가. (매개변수 설정)2. 같은 행,열, 대각선에 있는지 어떻게 판단할 것인가. 내가 보기엔 이 두가지만 해결하면 문제를 풀 수 있을 것 같았다. 사실 이 문제는 내 지..
2025.01.07
no image
JAVA [Algorithm] - 백준 15650 N과 M (2)
📝문제 설명 📢입출력 예시 ✏️문제 풀이이 문제 또한 예제 2번의 출력을 보며 규칙을 이해해보자.(1,2)와 (2,1)은 같은 경우로 취급하여 출력을 안한다.똑같이 (2,4)은 (4,2)와 같은 경우로 취급하여 출력을 안한다. 이제 그림으로 이해해보자 그림을 잘 보면 depth 0일 때의 재귀함수에서 depth 1로 넘어갈 때십의자리수의 값에서 +1 한만큼 일의자리수에 넣어주는 것을 볼 수 있다. 이러면 다음 재귀함수로 넘어갈 때 십의 자리수에 채워진 어떤 변수 값을 depth 1로 +1만큼 더하고 가져가야 한다. package Baekjoon.BackTracking;import java.io.BufferedReader;import java.io.IOException;import java.io.Inp..
2025.01.06
no image
JAVA [Algorithm] - 백준 15649 N과 M (1)
📝문제 설명 📢입출력 예시 ✏️문제 풀이예제 2번을 보면서 고민을 해보자.예제 2번의 출력의 경우의 수는 아래 그림과 같다.  규칙을 보면 십의자리수에 있는 숫자는 일의자리수에 올 수 없다는 것을 알 수 있다.백트래킹 문제는 재귀함수로 풀어지기 때문에 visited 배열을 사용하여 십의 자리숫자에 있는 자리를 true로 처리하여 방문하지 못하게 막아 놓으면 될 것 같다. depth 값을 추가하여 배열의 인덱스 네비게이션 역할을 할 것이다.십의 자리수가 채워지는 재귀함수에는 depth를 0,일의 자리수가 채워지는 재귀함수는 depth를 1로 하여 값을 채워보자. package Baekjoon.BackTracking;import java.io.BufferedReader;import java.io.IOEx..
2025.01.06