백준난이도 : Gold 5문제 제목 : 탑가장 오른쪽 탑부터 for문을 돌면서 수신받는 탑을 찾는 풀이이다.다른 사람이 푼 풀이인데, '✏️ 풀이 1'과 달리 가장 왼쪽 탑부터 for문을 도는 방식이다.우선 stack이라는 빈 스택을 선언한 뒤, 왼쪽 탑부터 \[{in
백준난이도 : Gold 5문제 제목 : 옥상 정원 꾸미기'관리인이 보는 방향'의 끝인, 가장 오른쪽 옥상부터 for문을 돌면서 볼 수 있는 옥상 수를 찾는 풀이이다.➕ '오른쪽으로만 볼 수 있다'는 점에서 스택을 사용해야 한다는 힌트를 얻었다.✅ 풀이 한 줄 설명:우선
백준난이도 : Gold 4문제 제목 : 오큰수가장 오른쪽 수부터 for문을 돌면서 오큰수를 찾는 풀이이다. ✅ 풀이 한줄 설명:우선 stack이라는 빈 스택을 선언한 뒤, 오른쪽 수부터 삽입하면서 의미없는(앞으로 오큰수가 될 수 없는 수) 수들은 제거해나가는 방법이다.
백준난이도 : Gold 5문제 제목 : AC데크(deque)의 pop()과 popleft()를 이용하여 요소 삭제 시 시간복잡도를 최소한( $O(1)$ )으로 하였다.그리고 R이 입력됐을 때마다 deq를 reverse() 해주면 시간복잡도가 $O(n^2)$이 되기 때문

백준난이도 : Silver 2문제 제목 : 쇠막대기✅ 풀이 한줄 설명:스택을 사용하여 규칙을 찾아 쇠막대기 수를 더해준다.✅ 풀이 자세한 설명:🍎 규칙 찾기우선 규칙부터 찾아야 한다.여는 괄호(()가 나오면 1을 더하고, 닫는 괄호())가 나오면 1을 빼며 각 문자
이번 포스팅은 오답 풀이인 '✏️ 풀이 1'과 정답 풀이인 '✏️ 풀이 2', '✏️ 풀이 3'으로 3가지 코드가 정리되어있다.가장 짧고 깔끔한 풀이는 '✏️ 풀이 3'로, 빠르게 정답 풀이를 보고 싶다면 '✏️ 풀이 3'를 참고하기 바란다.백준난이도 : Silver
백준난이도 : Silver 1문제 제목 : 그림BFS 함수를 돌릴 그림의 시작점들만 잘 찾으면 된다.2중 for문으로 입력된 배열을 순서대로 돌면서아직 방문하지 않은값이 1인위치를 발견하면 BFS 함수를 돌리면 된다.BFS를 알고 있으면서 이 점을 유의하고 위의 코드를
백준난이도 : Silver 1문제 제목 : 미로 탐색BFS의 기본적인 응용 문제로, 거리 측정 문제이다.이러한 문제는 현재 방문 중인 곳의 값을 기준으로 deque 에 새롭게 넣을 상하좌우 칸의 값으로 +1 한 값을 배열에 저장해주면 된다.이 때 visited 배열 대
백준난이도 : Gold 5문제 제목 : 토마토✅ Check Point 1: 우선 이 문제가 BFS 문제임을 파악해야 한다.이 문제가 BFS 문제인 이유는 다음과 같다.토마토가 익어가는 상황 자체가 BFS와 같다.토마토가 다 익기까지 필요한 최소 일수는 모든 익지 않은
📄 문제 백준 난이도 : Gold 4 문제 제목 : 불! ✏️ 풀이 1 BFS의 기본적인 응용 문제로, 시작점이 두 종류일 때의 문제이다. 결론적으로 불에 대한 BFS, 지훈이에 대한 BFS 모두 돌림으로서 해결이 가능하다. 먼저 불에 대한 BFS를 돌린 후,
📄 문제 백준 난이도 : Silver 1 문제 제목 : 숨바꼭질 ✏️ 풀이 1 ✅ Check Point 1: 우선 이 문제가 BFS 문제임을 파악해야 한다. 수빈이가 X에 있을 때 X - 1 , X + 1 , 2X 로 이동하는 것을 BFS로 처리할 수 있기 때문에
이번 포스팅은 오답 풀이인 '✏️ 풀이 1'과 정답 풀이인 '✏️ 풀이 2', '✏️ 풀이 3'으로 3가지 코드가 정리되어있다.'✏️ 풀이 2'와 '✏️ 풀이 3'는 같은 방식의 풀이라 거의 비슷하지만, '✏️ 풀이 2'는 조금 더 직관적이고 '✏️ 풀이 3'는 조금
이전에 풀었던 'BOJ.2206. 벽 부수고 이동하기' 문제의 상위호환 문제라고 생각한다. 이 문제를 바로 풀기 어려운 사람은 '벽 부수고 이동하기' 문제부터 풀어보기를 추천한다.📄 BOJ.2206. 벽 부수고 이동하기문제 링크풀이 포스팅 링크백준난이도 : Gold
'BOJ.1600. 말이 되고픈 원숭이' 문제를 풀고 이러한 유형에 대해 더 깔끔하고 일반적으로 푸는 방법을 발견해서 새로 포스팅을 작성하게 되었다.이 포스팅으로 문제 풀이 방식을 공부해보고, 비슷한 유형인 'BOJ.1600' 문제도 한 번 풀어보는 것을 추천한다.📄

백준난이도 : Gold 4문제 제목 : 감시✅ 풀이 한줄 설명:1\. 각 cctv의 방향 정하기 - 💫 4진법 이용하기2\. 정한 방향에 대해서 사각 지대의 크기 구하기✅ 풀이 자세한 설명:나올 수 있는 cctv들의 방향 조합들을 먼저 구해야 한다. 백트래킹으로도 풀
백준난이도 : Gold 4문제 제목 : 감시✅ 풀이 한줄 설명:1\. cctv의 종류와 위치를 배열에 저장한다.2\. cctv 배열 순서대로 깊이우선탐색(DFS)을 재귀적으로 수행한다. 이 때 모든 방향을 고려하여 탐색한다. (백트래킹)3\. cctv 배열 내 모든 c
백준난이도 : Gold 2문제 제목 : 2048 (Easy)✅ 풀이 한줄 설명:1\. 게임보드를 상하좌우 중 한 쪽으로 민 결과를 업데이트하기2\. 5번 각각 미는 방향(조합)을 정하기✅ 풀이 자세한 설명:우선 2번의 경우 백트래킹(DFS)로 정할 수 있다. 그리고 1
본 포스팅에서는 좀 더 범용적인 함수 구현과 몇 가지 구현팁(배열 회전, n진법 활용)에 초점을 두고 있다.좀 더 직관적인 풀이 방법은 아래 포스팅을 참고 바란다.\[백준/Python] 12100. 2048 (Easy)백준난이도 : Gold 2문제 제목 : 2048 (
본 포스팅에서는 해당 문제를 2차원 배열의 테이블의 DP로 푼 풀이를 정리하였다.그러나 1차원 배열 DP로도 충분히 어렵지 않게 풀 수 있기 때문에 아래 포스팅도 참고 바란다.📋 참고 포스팅: 백준난이도 : Silver 3문제 제목 : 계단 오르기✅ 풀이 한줄 설명:
본 포스팅에서는 해당 문제를 1차원 배열의 테이블의 DP로 푼 풀이를 정리하였다.그러나 2차원 배열 DP로도 충분히 어렵지 않게 풀 수 있기 때문에 아래 포스팅도 참고 바란다.개인적으로 2차원 배열 DP 풀이가 더 일반적이고 익숙했다.📋 참고 포스팅: \[백준/Pyt
백준난이도 : Silver 1문제 제목 : 1로 만들기 2✅ 풀이 한줄 설명:BFS를 이용하여 1로 가는 최소 연산 횟수를 구한다. 이때, BFS에서 큐에 숫자를 새로 추가할 때 해당 숫자가 어떤 숫자로부터 왔는지를 경로 배열에 기록한다.✅ 풀이 자세한 설명:1로 가는
본 포스팅은 해당 문제를 1차원 배열의 DP로 푼 풀이에 대해 정리하였다.그러나 BFS로도 쉽게 풀 수 있기 때문에 아래 포스팅도 참고 바란다.해당 문제는 어렵지 않아 BFS와 DP 모두 간단하게 풀 수 있지만, 난이도가 올라갈수록 DP는 보통 다른 알고리즘들로 풀 수
본 포스팅은 해당 문제에 대한 정답(그리디 이용 풀이)과 문제 상황을 해결할 수는 있지만 시간초과가 나는 풀이(브루트포스 풀이) 두 가지를 제시한다.후자는 구현 연습용이므로 정답을 원하는 분은 '✏️ 풀이 1'만 참고하기를 바란다.백준난이도 : Silver 4문제 제목
본 포스팅은 해당 문제를 1차원 배열의 DP로 푼 풀이에 대해 정리하였다. 그러나 그리디로도 쉽게 풀 수 있기 때문에 아래 포스팅도 참고 바란다. 난이도가 올라갈수록 DP는 보통 다른 알고리즘들로 풀 수 없을 때 활용하는 최후의 방안이기 때문에 이 문제를 그리디로 푸

본 포스팅은 해당 문제를 프림 알고리즘으로 푼 풀이에 대해 정리하였다.그러나 크루스칼 알고리즘으로도 풀 수 있기 때문에 아래 포스팅도 참고 바란다.더해서 아래 포스팅에 더 쉽게 이해할 수 있는 설명이 되어 있는 것 같아 본 포스팅을 이해했어도 아래 포스팅도 참고하는 것

본 포스팅은 해당 문제를 크루스칼 알고리즘으로 푼 풀이에 대해 정리하였다. 프림 알고리즘으로도 비슷하게 풀 수 있기 때문에 아래 포스팅도 참고 바란다. 📋 참고 포스팅:[백준/Python] 1368. 물대기 📄 문제 백준 난이도 : Gold 2 문제 제목 : 물
이러한 유형에 대해 더 추천하는 풀이 방법을 발견해서 새로 포스팅을 작성하였다. 공부를 위해 현 포스팅을 읽어보는 것도 괜찮지만, 좀 더 일반적인 풀이를 담은 아래 포스팅을 추천한다. [백준/Python] 17070. 파이프 옮기기 1 - DP로 풀기 이번 포스팅은
처음에는 BFS로 풀었었다. 그러나 이러한 유형에 대해서는 BFS보다 DP로 푸는 것이 더 맞겠다는 생각을 하여 DP로 푸는 방법을 정리해보고자 한다.혹시 BFS로 접근하는 방법이 궁금하다면 아래 링크를 참고 바란다.\[백준/Python] 17070. 파이프 옮기기 1