목록완전탐색 (11)
개발 무지렁이
데스나이트 / BFS 🍥 🎠. 'queue'를 이용해서 'BFS'를 구현할 줄 알아야 한다 => 'queue = deque()' 🎠. queue의 'depth(?)'를 구할 줄 알아야 한다. => 'leng = len(queue)', 'for in 문' from collections import deque N = int(input()) cur_x, cur_y, target_x, target_y = list(map(int, input().split())) dx = [-2, -2, 0, 0, 2, 2] dy = [-1, 1, -2, 2, -1, 1] # arr2d = [[0]* N] * N # visited = [[Fals..
치킨배달 / 조합 🛒 🎠. 'itertools 모듈'을 이용해 'combinations()'를 사용하여 조합을 구할 줄 알아야 한다. 🎠. 조합을 구해 '각 경우를 돌 때', 이 for in문은 '가장 바깥에' 위치해야 한다. => '경우에 따른 결과'를 구해야 함으로 🎠. 이전 값과 비교할 때, '이전값을 할당하는 변수'는 'for in문 바깥'에 위치해야 한다. => '(현재값과 이전값에 대한)'비교는 for in문 안에서 import itertools import sys N, M = map(int, input().split()) arr2d = [] for _ in range(N): ar..
🪅. 문제를 보고 DP를 생각하고, 구현할 수 있느냐 => 답을 구하는 과정을 일반화할 수 있느냐, 예외를 if문으로 처리할 수 있느냐 🪅. 문제를 보는 시각을, 윗줄 데이터가 아랫줄 데이터를 선택하는 것이 아닌, 아랫줄 데이터가 윗줄 데이터 중 큰데이터를 선택하는 시각으로 볼 수 있느냐 🪅. 역순으로 정렬하기 위해, int[]를 Integer[]로 변환할 수 있느냐 정수 삼각형 [시간초과로 통과 못한 코드.java] import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.S..
야구 🪅. 반복문을 돌릴때마다 조건에 맞는 '초기화'를 했는가? => 다음 반복에 영향을 주지 않게 🪅. 일의 순서를 따질 때, '완전탐색 순열'을 생각해서 구현할 수 있는가? => '백트래킹' 🪅. 순열의 '작업'과 문제 조건에 맞는 '로직'을 '분리'시켰는가 => 하나의 메서드는 '하나의 기능'만을 수행 🪅. '전역변수'의 사용을 남용하지 않았는가? => '하나의 메서드 안'에서만 로직에 사용되는 데이터는 '지역변수'에 대입 import java.io.BufferedReader; import java.io.IOException; import java.io.In..
트리의 부모 찾기 🪅 에지리스트를 인접리스트로 구현할 수 있는가 🪅 인접리스트를 루트부터 탐색해가며 parent배열을 완성할 수 있는가 🪅 DFS를 구현할 수 있는가 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.StringTokenizer; public class Main { static List[] tree; static boolean[] isVisited; static int[] parent; public static..
도영이가 만든 맛있는 음식 🪅 재료를 사용하고 말고의 문제를 부분집합으로 해석할 수 있는가 => 포함하는가 or 아닌가 🪅 부분집합을 구현할 수 있는가 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.StringTokenizer; /** * 백준 2961번 도영이가 만든 맛있는 음식 * 입력: * 첫째 줄에 재료의 개수 N(1 ≤ N ≤ 10)이 주어진다. 다음 N개 줄에..