Algorithm 14

[백준] 13459 구슬 탈출 python 풀이

문제난이도: 골드1알고리즘 분류: 구현, 그래프, 시뮬레이션, 너비 우선 탐색요약: 파란 구슬을 구멍에 넣지 않으면서 빨간 구슬을 10번 이하로 움직여서 빼낼 수 있으면 1을 없으면 0을 출력하기 풀이빨간/파란 구슬의 x, y 좌표를 queue에 담아서 진행 1. 한 방향으로 이동중인 구슬이 멈추는 조건다음 위치가 벽이거나현재 위치가 구멍일 때2. 빨간/파란 구슬이 끝까지 이동했을 때의 위치와 움직인 횟수 확인이동한 빨간/파란 구슬 위치가 같을 경우움직인 횟수 비교 후, 이동거리가 더 많은 구슬이 뒤로 한칸 이동  코드from collections import dequeimport sysinput = sys.stdin.readlinen, m = map(int, input().split())board = ..

Algorithm/Baekjoon 2024.06.28

[백준] 3190 뱀 python 풀이

문제난이도: 골드4알고리즘 분류: 구현, 자료구조, 시뮬레이션, 덱, 큐요약: 뱀이 기어다니다가 벽 또는 자기자신의 몸과 부딪혔을 때까지의 시간 구하기 풀이board 정의하기빈 칸: 0 (정의 시 0으로 초기화)뱀: 1사과: 2 뱀의 위치를 queue에 저장하기queue에 뱀이 차지하고 있는 위치를 [row, col] 형태로 저장이동한 칸에 사과가 있을 경우몸 길이 늘리기: board 상태 업데이트 & queue에 위치 추가이동한 칸에 사과가 없을 경우몸 길이 늘리기 (+1)꼬리가 위치한 칸 비우기: popleft 연산을 통해 가장 먼저 queue에 추가된 요소를 꺼내오는 작업을 수행 (-1)따라서 몸 길이 변화 x 코드from collections import dequeimport sysinput = ..

Algorithm/Baekjoon 2024.06.27

[백준] 2504 괄호의 값 python 풀이

문제난이도: 골드5알고리즘 분류: 구현, 자료구조, 스택요약: 괄호값을 정의한대로 계산하여 출력하기 풀이case 분류1. 열린 괄호stack에 추가하기(append 연산)temp 변수에 해당 괄호열의 값 곱하기2. 닫힌 괄호스택이 비어있거나 스택의 top 값과 짝이 맞지 않을 경우 -> 올바르지 못한 괄호열짝이 맞고 직전에 짝이 맞는 열린 괄호일 경우 -> result 값 업데이트bracket = '()[]' 일 경우 result += 2; result += 3bracket = '[()]' 일 경우 [()에서 ()를 스택에서 제거 후 temp = 3*2; ]에서 result += 6짝이 맞을 경우 -> stack에서 제거하고(pop 연산) temp 값을 해당 괄호열의 값으로 나누기모든 문자 확인 이후 스..

Algorithm/Baekjoon 2024.06.27

[백준] 17144 미세먼지 안녕! python 풀이

문제난이도: 골드4알고리즘 분류: 구현, 시뮬레이션요약: T초 동안 미세먼지가 확산되고 공기청정기가 작동될 때, 남아있는 미세먼지 양 출력하기 풀이미세먼지 확산1. 미세먼지가 확산되어 변화할 값을 저장하는 배열 생성board 배열에 바로 변화할 값을 추가할 경우, 이전의 변화된 값이 다음 진행에 영향을 끼침 -> 안 됨2. 인접한 네 방향으로 확산변화할 미세먼지 배열 업데이트 (dust)확산된 미세먼지 양 업데이트 (spread_amount)3. 해당 위치에서 확산된 미세먼지 양만큼 제거  공기청정기 작동ex) 아래쪽 공기청정기 작동 방식시계방향으로 순환 (동 남 북 서)바람이 불면 미세먼지가 바람의 방향대로 한 칸씩 이동공기청정기에서 부는 바람은 미세먼지가 없는 바람이고, 공기청정기로 들어간 미세먼지는..

Algorithm/Baekjoon 2024.06.27