Algorithm/Baekjoon 13

[백준] 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