[BOJ/백준] 19538 루머 - 파이썬
·
💻 알고리즘/PS
문제 https://www.acmicpc.net/problem/19538 19538번: 루머 예제 1 0분 : 최초 유포자($1$, $6$번 사람)가 루머를 생성한다. 1분 : $1$번 사람은 $2$, $3$번 사람에게 루머를 퍼뜨린다. $2$번 사람은 주변인 $2$명 중 $1$명이 루머를 믿고 있어 루머를 믿게 된다. $3$ www.acmicpc.net 문제풀이 2개의 덱을 사용해서 풀었다. 처음 유포자를 시작으로 새로 루머를 믿는 사람들을 start 덱에 추가하여 덱이 빌 때까지 탐색을 진행했다. 새로 루머를 믿는 사람들의 time 값을 업데이트 해 줄 때에는 즉시 업데이트 해주는 것이 아니라, 따로 que라는 덱에 추가해서 해당 탐색이 끝난 이후에 업데이트를 해주었다. 즉시 업데이트 하는 경우, 다..
[BOJ/백준] 1074 Z - 파이썬
·
💻 알고리즘/PS
문제 https://www.acmicpc.net/problem/1074 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 www.acmicpc.net 문제풀이 재귀를 사용해서 푸는 문제이다. 처음 (2^N)*(2^N) 크기의 2차원 배열에서부터 4사분면으로 나누어 길이를 반씩 줄여나간다. 분할된 네 공간 중 ( r , c )가 어느 곳에 속하는지 확인한다. 속하지 않는 부분에 대해서는 그 크기만큼 ans 값을 더해준다. x==r 이고 y==c 이면 ans를 출력하고 종료한다. 코드 import sys input=sys.stdin...
[BOJ/백준] 14891 톱니바퀴 - 파이썬
·
💻 알고리즘/PS
문제 https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴 www.acmicpc.net 문제풀이 n번 바퀴의 2번 index는 n+1번 바퀴의 6번 index와 인접하고 n번 바퀴의 6번 index는 n-1번 바퀴의 2번 index와 인접한다. 이 두 값을 먼저 update 한 후에, a번을 기준으로 왼쪽/오른쪽으로 2개의 for문을 통해 나머지 바퀴들을 탐색한다. a번과 바로 인접한 바퀴의 경우, a번과 반대 방향으로 돌아가야 하기 때문에 b에 -1을 곱해준 값을, 그 다..
[BOJ/백준] 13302 리조트 - 파이썬
·
💻 알고리즘/PS
문제 https://www.acmicpc.net/problem/13302 13302번: 리조트 수영이는 여름방학을 맞이하여 많은 놀이 시설이 있는 KOI 리조트에 놀러가려고 한다. 리조트의 하루 이용권의 가격은 만원이다. 하지만 리조트의 규모는 상상을 초월하여 모든 시설을 충분히 www.acmicpc.net 문제풀이 1일권, 3일권, 5일권과 그에 따른 쿠폰을 사용해서 리조트 이용을 위한 최소 비용을 구하는 dp 문제이다. bottom-up 방식으로 각각 날에 대해 dp 값을 갱신해주었다. dp[day][coupon]으로 2차원 dp 배열을 선언해서 이용권에 따라 쿠폰 값도 갱신해주었다. 1일권 구매 dp[i+1][j]=min(result+10000 , dp[i+1][j]) 3일권 구매 dp[i+k][j..