백트래킹7 [Baekjoon] 15654 - N과 M (5) 📝 문제 🔑 풀이 과정 · 중복없이 숫자를 뽑아야 하므로 방문배열을 사용한다. · 수열은 사전 순을 증가하는 순서로 출력해야 하므로, 입력받은 수를 오름차순으로 정렬해 준뒤 DFS를 수행한다. 🔓 답안 import java.io.*; import java.util.Arrays; import java.util.StringTokenizer; public class Main { static StringBuilder sb; static int N; static int M; static int[] arr; static boolean[] visited; static int[] ans; public static void main(String[] args) throws IOException { BufferedReade.. 2023. 7. 31. [Baekjoon] 15652 - N과 M (4) 📝 문제 🔑 풀이 과정 · 같은 수를 여러 번 골라도 된다 → 중복 허용, 방문 배열 필요 없음 · 비내림차순 수열: depth가 i일때의 수는 depth가 i-1때의 수보다 크거나 같다. 이를 처리하기 위해 현재 depth의 수를 인자로 넘겨주고, 함수 내에서 i보다 크거나 같은 범위를 탐색하게 한다. 🔓 답안 import java.io.*; import java.util.StringTokenizer; public class Main { static StringBuilder sb; static int N; static int M; static int[] arr; public static void main(String[] args) throws IOException { BufferedReader br =.. 2023. 7. 30. [Baekjoon] 15651 - N과 M (3) 📝 문제 🔑 풀이 과정 · 같은 수를 여러 번 골라도 된다 → 중복 허용, 즉 방문배열이 필요가 없다. 🔓 답안 import java.io.*; import java.util.StringTokenizer; public class Main { static StringBuilder sb; static int N; static int M; static int[] arr; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWri.. 2023. 7. 29. [Baekjoon] 14889 - 스타트와 링크 📝 문제 🔑 풀이 과정 · 백트래킹을 사용하여 N/2개를 방문하고, 방문배열이 true인 팀과 방문배열이 false인 팀의 점수를 각각 구해서 그 차이를 구한다. · 택하는 방법은 조합을 이용하므로, 현재 택한 숫자보다 더 큰 부분을 탐색하게 만든다 (1, 3을 택하는 것과 3, 1을 택하는 것은 같으므로) · N/2를 택하는 것은 depth를 DFS의 변수로 넘겨서 체크한다. · 사실 맞힌 문제지만... 나에겐 좀 어렵다. 나는 DFS랑 백트래킹 같은 재귀방식이 아직 어렵다. 깊게 들어갔다가 다시 나올때 그 인덱스 변환이 너무 어렵다. · 그리고 사실 첫 제출때 시간초과를 받고 그 후 코드를 수정해서 정답처리를 받았다. 크게 바꾼것이 아니라, DFS인자에 현재 선택한 값을 넣어주고, 그 후 방문하지 않.. 2023. 7. 25. [Baekjoon] 15650 - N과 M (2) 📝 문제 🔑 풀이 과정 · 앞서 풀이한 15649번 문제와 비슷한 백트래킹 문제이다. 15649번 풀이는 여기 ↓ https://seohyun0916.tistory.com/292 [Baekjoon] 15649 - N과 M (1) 📝 문제 🔑 풀이 과정 · DFS 방식을 사용했다. 이전에 프로그래머스에서 타겟 넘버라는 문제를 풀었을 때, 현재 depth를 인자로 넘겨서 탐색 깊이를 제한하는 방식을 학습했었다. 여기서 이 방식 seohyun0916.tistory.com · 이 문제는 15649번 문제에서 조건이 하나 더 추가된 문제이다. 추가된 조건: 고른 수열은 오름차순이어야 한다. → 이는 depth가 i일때 들어갈 수 있는 수는 i-1의 depth에 위치하는 수보다 무조건 커야된다는 뜻이다.(ex. 1.. 2023. 7. 2. [Baekjoon] 15649 - N과 M (1) 📝 문제 🔑 풀이 과정 · DFS 방식을 사용했다. 이전에 프로그래머스에서 타겟 넘버라는 문제를 풀었을 때, 현재 depth를 인자로 넘겨서 탐색 깊이를 제한하는 방식을 학습했었다. 여기서 이 방식을 사용했다. 이래서 문제를 많이 풀어봐야 ㅎㅎ... 그 문제 풀이는 여기 ↓ https://seohyun0916.tistory.com/203 [Programmers] 타겟 넘버 📝 문제 https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합 seohyun0916.tistory.com · 한 위치에서 끝까지 탐색 한 후, 다.. 2023. 7. 1. 이전 1 2 다음