본문 바로가기
728x90

분류 전체보기136

백준 KCM Travel [10217] 파이썬(Python) 코드 + 해설 문제 설명찬민이는 인천에서 LA로 여행을 가려고 합니다. 하지만 구글에서 여행 비용을 최대 M원까지 지원해주기 때문에, 이 예산 내에서 가장 빠르게 LA에 도착해야 합니다. 각 도시 간의 항공편은 비용과 시간이 주어집니다.목표: 인천(1번 도시)에서 LA(N번 도시)까지 비용 M원 이하로 사용하면서 도착할 수 있는 가장 빠른 시간을 구하는 것입니다. 만약 예산 내에서 도착할 수 없다면 "Poor KCM"을 출력합니다.입력 조건T: 테스트 케이스의 수 (1 ≤ T ≤ 100)각 테스트 케이스:N: 공항의 수 (2 ≤ N ≤ 100)M: 지원 비용 (0 ≤ M ≤ 10,000)K: 티켓 정보의 수 (0 ≤ K ≤ 10,000)K개의 티켓 정보:u, v: 출발 공항과 도착 공항 (1 ≤ u, v ≤ N)c: .. 2024. 11. 9.
백준 원판 돌리기 [17822] 파이썬(Python) 코드 + 해설 문제 설명반지름이 1부터 N까지인 원판들이 바닥에 놓여 있고, 각 원판에는 M개의 정수가 적혀 있다. 원판들은 중심을 공유하며, 각 원판의 번호는 작은 것부터 큰 것까지 1부터 N까지이다. 각 원판의 위치는 (i,j)로 표현되며, i는 원판의 번호, j는 원판 위의 숫자 위치이다. 원판들은 독립적으로 회전할 수 있으며, 회전은 시계 방향 또는 반시계 방향으로 이루어진다. 회전 후에는 다음과 같은 작업을 수행한다: 인접하면서 수가 같은 것들을 모두 찾는다. 인접한 위치는 다음과 같다: 같은 원판에서 양 옆에 있는 숫자들 같은 위치의 위아래 원판 숫자들 인접하면서 수가 같은 것이 있으면, 해당 수들을 지운다 (0으로 만든다). 없으면, 원판에 적힌 수들의 평균을 구하고, 평균보다 큰 수에서 1을 빼고, 작은.. 2024. 11. 8.
백준 새로운 게임2 [17837] 파이썬(Python) 코드 + 해설 문제 설명재현이는 체스판과 말을 이용하여 새로운 게임을 만들었다. 이 게임은 크기가 N×N인 체스판에서 진행되며, 말은 총 K개가 사용된다. 말은 원판 모양이며, 하나의 말 위에 다른 말을 올릴 수 있다. 체스판의 각 칸은 흰색(0), 빨간색(1), 파란색(2) 중 하나로 색칠되어 있다.게임은 체스판 위에 말을 놓고 시작한다. 말은 1번부터 K번까지 번호가 매겨져 있고, 이동 방향도 미리 정해져 있다. 이동 방향은 오른쪽(1), 왼쪽(2), 위쪽(3), 아래쪽(4) 중 하나이다.각 턴은 1번 말부터 K번 말까지 순서대로 이동시키는 것이다. 한 말이 이동할 때, 그 말 위에 다른 말이 있으면 함께 이동한다. 말의 이동 규칙은 다음과 같다.이동하려는 칸이 흰색인 경우:그 칸으로 이동한다.이동하려는 칸에 말이.. 2024. 11. 7.
백준 게리맨더링 2 [17779] 파이썬(Python) 코드 + 해설 문제 설명재현시는 𝑁 × 𝑁  크기의 격자로 표현되며, 각 격자는 구역을 의미합니다. 각 구역에는 인구수가 주어집니다. 시장은 공정한 선거구 획정을 위해 다음과 같은 규칙으로 다섯 개의 선거구로 나누려고 합니다.기준점 ( 𝑥,𝑦 )와 경계의 길이 𝑑1,𝑑2를 정합니다. (1≤𝑥경계선을 긋습니다:1번 경계선: (𝑥,𝑦)부터 (𝑥+𝑑1 , 𝑦−𝑑1) 까지 대각선2번 경계선: (𝑥,𝑦)부터 (𝑥+𝑑2,  𝑦+𝑑2) 까지 대각선3번 경계선: (𝑥+𝑑1,𝑦−𝑑1)부터  𝑥+𝑑1+𝑑2, 𝑦−𝑑1+𝑑2)까지 대각선4번 경계선: (𝑥+𝑑2,𝑦+𝑑2) 부터 ( 𝑥+𝑑2+𝑑1, 𝑦+𝑑2-𝑑1)까지 대각선경계선과 그 안에 포함된 구역은 5번 선거구로 설정.. 2024. 11. 6.
백준 연구소 3 [17142] 파이썬(Python) 코드 + 해설 문제 설명인체에 치명적인 바이러스를 연구하던 연구소에 누군가 침입하여 바이러스를 유출하려고 한다. 바이러스는 활성 상태와 비활성 상태가 있다. 처음에는 모든 바이러스가 비활성 상태이며, 활성 상태인 바이러스는 상하좌우로 인접한 모든 빈 칸으로 동시에 복제되어 퍼지며, 1초가 걸린다.우리는 연구소의 바이러스 위치 중 M개를 선택하여 활성 상태로 변경하려고 한다. 연구소는 N×N 크기의 정사각형이며, 각 칸은 빈 칸(0), 벽(1), 바이러스 위치(2)로 이루어져 있다.활성 바이러스가 비활성 바이러스가 있는 칸으로 가면, 해당 바이러스는 활성 상태로 변한다. 모든 빈 칸에 바이러스를 퍼뜨리는 데 걸리는 최소 시간을 구하는 것이 목표이다.문제 접근이 문제는 다음과 같은 특징을 가진다:바이러스는 동시에 퍼진다... 2024. 11. 6.
JQuery Ajax Post 파이썬으로 구현하기 다음과 같이 JQuery Ajax로 post를 요청할때$.ajax({ url : "/test.do", type : "POST", contentType : "application/json", data : JSON.stringify(send_data), success : function(data) { console.log(data); }});이를 파이썬 코드로 변경하고싶으면 다음과 같이 작성하면된다.import requestsimport jsonurl = "https://example.com/test.do" send_data = { "key1": "value1", "key2": "value2"}headers = {".. 2024. 11. 5.
백준 이차원 배열과 연산 [17140] 파이썬(Python) 코드 + 해설 문제 설명크기가 3×3인 배열 A가 있다. 배열의 인덱스는 1부터 시작한다. 매 초마다 배열에 연산이 적용된다.R 연산: 배열 A의 모든 행에 대해서 정렬을 수행한다. 행의 개수 ≥ 열의 개수인 경우에 적용된다.C 연산: 배열 A의 모든 열에 대해서 정렬을 수행한다. 행의 개수 각 행 또는 열에 있는 수를 정렬하려면, 각각의 수가 몇 번 나왔는지 알아야 한다. 그 다음, 수의 등장 횟수가 커지는 순으로, 그러한 것이 여러 개면 수가 커지는 순으로 정렬한다. 그 다음에는 배열 A에 정렬된 결과를 다시 넣어야 한다. 정렬된 결과를 배열에 넣을 때는, 수와 등장 횟수를 모두 넣으며, 순서는 수가 먼저이다.예를 들어, [3,1,1]에는 3이 1번, 1이 2번 등장한다. 따라서, 정렬된 결과는 [3,1,1,2]가.. 2024. 11. 5.
백준 낚시왕 [17143] 파이썬(Python) 코드 + 해설 문제 설명낚시왕은 크기가 R×C인 격자판에서 상어 낚시를 한다. 격자판의 각 칸에는 상어가 있을 수 있으며, 상어는 위치 (r,c), 속력 s, 이동 방향 d, 크기 z를 가진다.낚시왕은 첫 번째 열의 왼쪽에 위치하며, 매 초마다 오른쪽으로 한 칸씩 이동한다. 매 시간마다 다음과 같은 일이 발생한다:낚시왕이 이동한다.낚시왕이 있는 열에서 가장 가까운 상어를 잡는다. 잡은 상어는 격자판에서 사라진다.상어들이 이동한다. 각 상어는 자신의 속력과 방향에 따라 이동하며, 격자판의 경계를 넘으면 방향을 반대로 바꾸며 이동을 계속한다.같은 칸에 여러 상어가 있다면 크기가 가장 큰 상어만 남고 나머지는 모두 사라진다.낚시왕이 잡은 상어 크기의 합을 구하는 것이 목표이다.입력 조건첫째 줄에 격자판의 크기 R,C와 상어.. 2024. 11. 4.
백준 미세먼지 안녕! [17144] 파이썬(Python) 코드 + 해설 문제 분석구사과는 방에 있는 미세먼지를 제거하기 위해 공기청정기를 설치하려고 한다. 방은 R×C 크기의 격자판으로 이루어져 있고, 각 칸에는 미세먼지가 있을 수 있다. 공기청정기는 항상 첫 번째 열에 설치되어 있으며, 두 개의 연속된 행을 차지한다.1초 동안 다음과 같은 일이 순서대로 일어난다:미세먼지 확산:미세먼지는 인접한 네 방향으로 확산된다.확산되는 양은 현재 칸의 미세먼지 양을 5로 나눈 값의 몫이다 (즉, ⌊Ar,c/5⌋).공기청정기가 있거나 칸이 없으면 그 방향으로 확산되지 않는다.확산된 후 남은 미세먼지의 양은 Ar,c−(확산된 양×확산된 방향의 개수)이다.공기청정기 작동:위쪽 공기청정기는 반시계 방향으로 순환한다.아래쪽 공기청정기는 시계 방향으로 순환한다.바람이 불면서 미세먼지가 한 칸씩 .. 2024. 11. 3.
728x90