[DFS/BFS] (백준) 감시 피하기 - 파이썬 링크: https://www.acmicpc.net/problem/18428✅ nr,nc 부분을 1) nr=r+dr[d] 이렇게 해서 무한루프를 돌게 만들었고 -> nr+=dr[d] , 2) nr+=dr[d] 을 내용 전에다 써버려서 초기값을 생략한채로 반복문을 돌렸다. nr,nc 지정할때 다시한번 로직이 맞는지 눈으로 확인해보자from itertools import combinationsdef isFind(r,c): d = 0 while d 코딩테스트/DFS,BFS,플러드필 2024.08.30
[DFS/BFS] (백준) 연산자 끼워넣기 - 파이썬 링크: https://www.acmicpc.net/problem/14888✅ 백트래킹 부분을 놓쳤다. 이부분: (op_list[i]+=1) def dfs(total,op_list,depth,num_list): global max_ans,min_ans if depth == len(num_list)-1: max_ans = max(total,max_ans) min_ans = min(total,min_ans) return for i in range(len(op_list)): if op_list[i] 코딩테스트/DFS,BFS,플러드필 2024.08.30
[DFS/BFS] 괄호변환 - 파이썬 링크: https://school.programmers.co.kr/learn/courses/30/lessons/60058✅ else일때도 문자열을 추가해줘야한다는걸 잊어서 헤맸다. 조건에 따라 달라지는 결과를 꼼꼼히 예상 하자✅ 문자열 replace를 해버려서 헤맸다 -> 인덱스를 기준으로 제거해야한다는걸 명심하자def divide(string): stack = [] stack.append(string[0]) u,v = string[0],"" for s in string[1:]: if stack[-1]==s: stack.append(s) u+=s else: stack.pop() u.. 코딩테스트/DFS,BFS,플러드필 2024.08.30
[DFS/BFS] 경쟁적 전염 - 파이썬 링크: https://www.acmicpc.net/problem/18405✅ return 을 0으로해서 초기값이 있을 경우 오류가 났다 (수정: return arr[X-1][Y-1])return문 작성할때 주의하자반례2 33 01 20 1 1정답: 3 import heapqdef solution(N, K, arr, S, X, Y): def collect(arr): k_list = [] for i in range(N): for j in range(N): if arr[i][j]!=0: k_list.append((arr[i][j],i,j)) return k_list dr = [0,.. 코딩테스트/DFS,BFS,플러드필 2024.08.29
[구현] 자물쇠와 열쇠 - 파이썬 링크: https://school.programmers.co.kr/learn/courses/30/lessons/60059 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr ✅ 배열 초기화 주의 : for문 돌때마다 deepcopy필요, arr = copy.deepcopy(origin_arr)✅ rotate할때 4번 돌려야함 (3번 아님)import copydef rotate(arr): new = [[0]*len(arr) for _ in range(len(arr[0]))] for i in range(len(arr)): for j in .. 코딩테스트/구현 및 시뮬레이션 2024.08.29