[Python] 백준 11559 - Puyo Puyo [Gold4]
·
Baekjoon
뿌요뿌요라는 게임을 들어보았을지 모르겠지만, 뿌요뿌요는 그림으로 봐도 알 수 있듯이 일본의 SEGA사에서 만든 게임이고 테트리스 처럼 여러 색깔과 모양의 블럭들이 내려와서 바닥이나 제일 위에 있는 블럭과 맞닿았을 때 그 상태에서 상하좌우로 4개의 같은 색깔의 모양이 위치하게 되면 그 블럭들이 터지면서 점수가 오르는 게임이다. 블럭이 터지게 되면 위에 있는 블럭들이 아래의 빈 공간을 메꾸기 위해 내려오게 되고 그 과정에서 새롭게 4개의 블럭이 생기면 연쇄적으로 터질 수 있다.따라서 이 문제에서도 이 게임의 방식과 동일하게 구현을 하면 된다.출처https://www.acmicpc.net/problem/11559풀이BFS를 이용하는데, 블럭이 모여서 터지게 되면 중력의 영향을 받아서 터진 블럭 위에 있는 블럭..
[CV] Human Pose Estimation with Object Detection
·
Computer Vision
이번 포스팅에서는 저번에 논문 리뷰했던 Human Pose Estimation을 구현한 내용을 review할 것이다.https://github.com/hjpark83/CVLab/tree/main/Human%20Pose%20Estimation/Implementation CVLab/Human Pose Estimation/Implementation at main · hjpark83/CVLabHYU Computer Vision Lab. Contribute to hjpark83/CVLab development by creating an account on GitHub.github.com출처는 제 github site를 참고하시면 되고 여기서는 구현 내용과 결과에 대해 다뤄보고자 합니다.Human Pose Esti..
[C++/Python] 백준 9251 - LCS [Gold5]
·
Baekjoon
출처https://www.acmicpc.net/problem/9251풀이 전략'알고리즘및문제해결기법' 수업에서 Dynamic Programming [A.K.A DP]에 대해 배우면서 예시로 배웠던 LCS [Longest Common Sequences, 최장부분공통수열] 알고리즘을 사용하여 문제를 풀 것이다.이 문제를 풀기 위해서는 점화식을 알아야 하고, 점화식을 잘 모른다면 표를 그릴줄만 알아도 점화식 유도는 충분히 할 수 있을 것이라고 생각한다.풀이사실 LCS 알고리즘은 왠만한 코딩테스트 준비용 서적에 거의 다 나와있을 정도로 코딩테스트에도 자주 빈출되고, 그만큼 유명한 알고리즘이기 때문에 점화식을 외워놓는다면 쉽게 풀 수 있을 것이다.위의 그림에서 표를 해석하면, i=0, j=0인 부분 (파란색 형광..
[Python] 백준 2573 - 빙산 [Gold4]
·
Baekjoon
출처https://www.acmicpc.net/problem/2573풀이 전략[백준 2636 - 치즈] https://www.acmicpc.net/problem/26362024.09.10 - [Baekjoon] - [C++] 백준 2636 - 치즈 [Gold4] [C++] 백준 2636 - 치즈 [Gold4]출처https://www.acmicpc.net/problem/2636풀이 전략먼저 문제 해석을 해보면, 1로 입력 받은 치즈가 시간이 지날 수록 녹아 내리는데, 녹아 내리는 부분을 보면 공기(0)과 맞닿아 있는 부분이라는 것을 알phj6724.tistory.com이 문제와 상당히 유사한 방식으로 접근을 해야 한다.다만 다른 점은, 이 문제에서는 빙산이 둘로 쪼개지는 순간의 시간을 출력해야 하기 때문에..
[Python] 백준 1992 - 쿼드트리 [Silver1]
·
Baekjoon
출처https://www.acmicpc.net/problem/1992풀이 전략우선 문제를 이해하는게 먼저이다. 솔직히 말하면 이 문제 자체를 이해하는데 시간이 좀 걸렸다.차근차근 읽어보면, 이 문제의 경우 정사각형 내부에 있는 수들이 모두 같은지를 판별해서 압축하는 내용이다. 그렇기 때문에 정사각형에 0만 있거나 1만 있지 않는 경우 사각형을 반으로 쪼개가면서 재귀적으로 조건문을 돌리면서 출력을 하면 된다.풀이먼저 예제를 보면, 8x8 size의 정사각형이 있는데 사각형 내부에 1또는 0만 있지 않는 경우 arr[x][y] != arr[i][j] 사각형을 4등분 해서 재귀적으로 실행을 하는데, 이 때 재귀를 들어가기 전 '('를 재귀를 나올 때 ')'를 append해서 재귀를 들어갔다는 표시를 남긴다.자..
[Python] 백준 2583 - 영역 구하기 [Silver1]
·
Baekjoon
출처https://www.acmicpc.net/problem/2583풀이 전략이 문제는 BFS로 풀면 되지만, 한 가지 까다로운 점은 Array의 index로 접근을 할 수 있지만 Array의 index는 좌상단에서 우하단 방향으로 커지는 반면 XY좌표계는 좌하단에서 우상단으로 커지기 때문에 Array로 계산을 할 때 XY 좌표계로 변환을 해주고 구해야 한다.이 점을 제외하면 무난무난한 문제이기 때문에 구하면 된다.풀이위의 풀이에 대해 설명을 하자면,빨간 형광펜으로 칠한 부분이 문제에서 예시로 주어진 부분이고, 빨간 점이 입력 값의 좌표(XY 좌표계), 배열 내부에 파란 색으로 적은 숫자가 배열의 index이다.빨간 점(X,Y)과 배열의 index를 비교해서 관계식을 찾는 것이 첫 번째 목표이다.따라서 ..