목록코딩 테스트 (72)
개발 무지렁이

데스나이트 / 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..

오큰수 / 스택 🥞 🎠. '스택(Stack)'에 값이 아닌 '인덱스(index)'를 넣어 문제를 해결할 줄 알아야 한다. [시간초과 난 코드.py] N = int(input()) stack = list(map(int, input().split())) # print(stack) len = len(stack) res = [] ano_stack = [] for i in range(len): # print("res:", res) cur = stack.pop() # print("cur:", cur) if i == 0: res.append(-1) ano_stack.insert(0, cur) continue # print("ano_stack", ano_stack) flag = 0 for ..

수열 / 슬라이딩 윈도우 🚠 🎠. '슬라이딩 윈도우'알고리즘을 구현할 줄 알아야한다 => '이전의 계산한 결과'를 최대한 이용하는 방식으로 [시간초과 난 코드.py] N, K = map(int, input().split()) tempers = list(map(int, input().split())) # print(tempers) sum_prev = sum(tempers[:K]) for i in range(1, len(tempers)-K): cur = sum(tempers[i:K+i]) sum_prev = max(sum_prev, cur) print(sum_prev) 🤡. 실수한 부분 : 이전에 계산한 결과를 써먹지 못했다. [성공한 코드.py] N, K = map(int, i..

치킨배달 / 조합 🛒 🎠. 'itertools 모듈'을 이용해 'combinations()'를 사용하여 조합을 구할 줄 알아야 한다. 🎠. 조합을 구해 '각 경우를 돌 때', 이 for in문은 '가장 바깥에' 위치해야 한다. => '경우에 따른 결과'를 구해야 함으로 🎠. 이전 값과 비교할 때, '이전값을 할당하는 변수'는 'for in문 바깥'에 위치해야 한다. => '(현재값과 이전값에 대한)'비교는 for in문 안에서 import itertools import sys N, M = map(int, input().split()) arr2d = [] for _ in range(N): ar..

모음사전 / DFS ⚓ 🎠. for in 반복문에서 '문자열'도 문자 하나씩 빼올 수 있다. 🎠. python '슬라이싱(slicing)' 방법을 알아야 한다. 🎠. dfs 알고리즘을 구현할 줄 알아야 한다 => '종료조건 + 재귀적 확장' 🎠. '지역 네임스페이스' 내에서 '전역변수의 값의 할당'하는 방법을 알아야 한다 => 'global' vowels = 'AEIOU' cnt = 0 g_word = "" res = 0 def dfs(s): global cnt, res if s == g_word: # print("res:", cnt) res = cnt return cnt += 1 # print(s) # ..

(1) [UnboundLocalError가 나는 코드.py] cnt = 0 def cnt_plus(): # 지역 네임스페이스 cnt += 1 cnt_plus() UnboundLocalError: local variable 'cnt' referenced before assignment 변수에 값을 할당(초기화)하기 전에, 니가 참조해버렸어! WHY? 이런 오류가 날까? 네임스페이스(Namespace) 파이썬(python)에서는 빌트인 네임스페이스 > 전역 네임스페이스 > 지역 네임스페이스 가 있다. 위의 코드는 전역에서 할당된 변수의 범위가 당연스럽게 지역변수 범위를 포함하는데 왜?????... (2) [정상적인 코드.py] cnt = 0 def cnt_clone(): # 지역 네임스페이스 clone = ..