728x90
반응형

오블완 10

[백준] 17259 - 선물이 넘쳐흘

문제 링크https://www.acmicpc.net/problem/17259문제 요약 욱제가 팬들에게 선물을 주기 위해 ⊐ 모양 컨베이어 벨트가 있는 B×B 크기의 공장을 운영합니다.M개의 선물이 컨베이어 벨트를 따라 이동하고, 벨트는 매 초마다 한 칸씩 움직입니다.벨트에 인접한 칸에 직원이 배치되어 있으며, 직원들은 자신이 설정된 시간을 기준으로 선물을 포장할 수 있습니다.벨트의 끝까지 포장되지 않은 선물은 폐기됩니다.포장된 선물의 총 개수를 계산해야 합니다. 푼 방법데이터 구조 초기화:world: 공장의 상태를 나타내는 2D 배열, 각 칸에 선물이 있는지 여부를 표시.employees: 직원클래스, 각 직원의 위치와 상태를 저장.컨베이어 벨트의 동작:컨베이어 벨트는 매 초마다 이동하며, 이동 규칙은 ..

[백준] 2615 - 오목

문제 링크문제 제목문제 요약오목 문제19×19 바둑판 위에서 흑(1)과 백(2)이 교대로 바둑알을 놓습니다.같은 색 바둑알이 연속으로 정확히 5개 놓이면 그 색이 승리합니다.연속된 다섯 개의 바둑알은 가로, 세로, 대각선(좌상-우하, 좌하-우상) 방향으로 가능합니다.여섯 개 이상의 바둑알이 연속되면 승리가 아닙니다.승리한 경우, 가장 왼쪽(또는 세로로는 가장 위쪽) 바둑알의 좌표를 출력해야 합니다.푼 방법 바둑판 상태 입력 받기:19줄의 입력을 받아 19x19 이차원 배열로 바둑판을 표현합니다.승리 조건 검사 함수 작성:방향 설정: 네 가지 방향에 대해 검사를 수행합니다.가로 방향 (0, 1)세로 방향 (1, 0)대각선 오른쪽 아래 (1, 1)대각선 오른쪽 위 (-1, 1)검사 함수: 각 방향에 대해 현..

[백준] 23023 - 서프라이즈

문제 링크https://www.acmicpc.net/problem/23032문제 요약 연속된 학번의 학생 구간을 선택하고 두 그룹으로 나눠 각 그룹의 스테이크 무게 합의 차 E를 계산합니다.E가 최소가 되는 두 그룹의 스테이크 무게 합이 가장 큰 경우를 찾습니다.해당 경우의 스테이크 무게 합을 출력합니다. 푼 방법누적합 계산: presum 배열을 만들어 스테이크 무게의 누적합을 저장하여 특정 구간의 합을 빠르게 구합니다.구간 선택 및 이진 탐색:두 그룹의 스테이크 무게 합 차이를 최소화하기 위해 이진 탐색을 사용하여 구간의 중간 지점을 조절합니다.EEE가 최소인 경우를 찾으면서, 만약 EEE가 동일하면 두 그룹의 무게 합이 최대인 경우를 선택합니다. 정답 코드import sysn = int(sys.std..

[백준] 14676 영우는 사기꾼?

문제 링크https://www.acmicpc.net/problem/14676문제 요약게임 설명: '우주전쟁' 게임은 1대1 RTS 게임으로, 각 플레이어는 정해진 건설 순서에 따라 건물을 짓고 유닛을 생성합니다.건물 건설 순서: 특정 건물을 짓기 위해서는 선행 건물이 먼저 지어져야 합니다. 예를 들어, 건물 4번은 2번과 3번이 지어진 후에만 지을 수 있습니다.중복 건설 가능: 모든 건물은 여러 번 지을 수 있습니다.최대 영향 제한: 한 건물은 최대 3개의 다른 건물에만 영향을 미칩니다.치트키 사용 판별: 영우의 게임 기록에서 치트키를 사용했는지 확인하는 것이 목적입니다. 치트키는 특정 건물의 선행 조건이 충족되지 않았는데도 건물을 지을 수 있게 하며, 지어지지 않은 건물을 파괴하려고 하면 치트키로 간주..

[백준] 25635 - 자유 이용권

리스트의 max값보다 작은 값들의 합이 max값보다 크면 max를 어떻게든 다 소비시킬 수 있어서 총 합이 답이될 수 있고 ( max값을 소비시키면 그 max값이 없어진 리스트에서의 max는 무조건 나머지의 합보다 작을 수 밖에 없음)합이 max값보다 작으면 max를 모두 소비를 못시킴. 그래서 max값 제외한 수들의 * 2 후, 마지막 max값을 쓰는 +1을 해서 답 도출 가능문제 링크https://www.acmicpc.net/problem/25635문제 요약준원이는 놀이공원에서 연속으로 같은 놀이기구를 타지 않으면서 최대한 많이 탈 수 있는 횟수를 구하려고 합니다. 각 놀이기구에는 탈 수 있는 횟수 제한이 주어집니다. 준원이가 연속으로 같은 놀이기구를 타지 않고 최대 횟수를 달성할 때, 그 값은 얼마..

[백준] 5557 - 1학년

문제 링크https://www.acmicpc.net/problem/5557문제 요약1학년 상근이는 숫자가 주어졌을 때 마지막 숫자와 등호(=)를 사용하여 올바른 등식을 만들고 싶어 한다. 이때 각 숫자 사이에 덧셈(+) 또는 뺄셈(-) 연산을 넣어 연산을 수행해야 한다. 중간 계산 값은 0 이상 20 이하 범위에 있어야 하며, 이를 벗어나면 올바르지 않은 등식이 된다. 목표는 주어진 숫자 배열을 사용하여 상근이가 만들 수 있는 올바른 등식의 개수를 구하는 것이다.푼 방법DP(동적계획법)으로 풀었습니다. dp[i][j]는 i번째 숫자까지 계산했을 때 j의 값이 나올 수 있는 경우의 수를 의미한다.초기 조건으로 dp[0][nums[0]] = 1로 설정하여 첫 번째 숫자가 나올 수 있는 유일한 경우의 수를 반..

[백준] 14569 시간표 짜기

문제 링크https://www.acmicpc.net/problem/14569문제 요약친구들의 비어 있는 시간표에 과목을 추가할 수 있는 경우의 수를 세는 문제입니다.월요일 1~4교시를 차지하는 과목과 월요일 2~5교시를 차지하는 과목은 모두 후보가 될 수 있습니다.겹치는 시간이 있어도 상관없이 비어 있는 시간에 들어갈 수 있는 모든 과목을 후보로 포함합니다.푼 방법이 문제는 시간표를 효율적으로 관리하고 비어 있는 시간과 과목 시간을 빠르게 비교하기 위해 비트마스킹을 사용할 수 있습니다.비트마스킹을 사용하여 각 교시를 비트로 표현합니다. 예를 들어, 월요일 1~5교시가 비어 있다면 비어 있는 시간을 5비트로 표현할 수 있습니다.과목의 시간표도 같은 방식으로 비트로 표현하고, 비어 있는 시간과 AND 연산을..

[백준] 4179 - 불!

문제 링크문제 제목문제 요약미로에서 지훈이와 불이 각자 매 분마다 수평 또는 수직으로 한 칸씩 이동할 수 있는 상황에서, 지훈이가 불이 붙기 전에 미로의 가장자리에 도달해 탈출할 수 있는지 판단하고, 탈출이 가능하면 최소 탈출 시간을 출력해야 합니다. 만약 불이 더 빠르게 퍼지거나 지훈이가 탈출할 수 없는 경우, "IMPOSSIBLE"을 출력해야 합니다.푼 방법deque를 사용하여 불과 지훈이의 위치를 각각 관리하고 BFS 탐색으로 최단 시간을 계산합니다.불과 지훈이의 이동을 BFS로 처리해 매 분마다 확산과 이동을 동시에 수행하여 최단 시간을 계산합니다.훈이가 미로의 가장자리에 도달하면 탈출 시간을 출력, 불이 모든 공간을 확산하거나 이동 가능한 경로가 없으면 IMPOSSIBLE을 출력합니다. 정답 코..

[백준] 27923 햄버거최대 몇개드실수있나요?

문제 링크https://www.acmicpc.net/problem/27923문제 요약지훈이는 다양한 햄버거를 먹으면서 자신의 '햄최몇'을 측정하려고 합니다. 총 N개의 햄버거를 원하는 순서로 먹을 수 있으며, 각 햄버거를 먹으면 해당 햄버거의 질량만큼 위 속 질량이 증가합니다. 하지만 위의 용량을 초과할 수 없기 때문에, 햄버거를 모두 먹기 위해 필요한 최소한의 위 용량을 구해야 합니다. 또한, 지훈이는 K번 콜라를 마시며, 각 콜라를 마신 후 L개의 햄버거를 먹는 동안 '콜라 효과'를 받습니다. 콜라 효과는 중첩될 수 있으며, 효과를 받는 동안 햄버거를 먹으면 위 속 질량 증가량이 2^C 로 나누어진 값의 내림으로 감소합니다. 여기서 C는 현재 중첩된 콜라 효과의 횟수입니다. 푼 방법이 문제는 그리디 ..

[백준] 1091 - 카드 섞기

문제 링크https://www.acmicpc.net/group/workbook/view/20862/74461문제 요약지민이는 N개의 카드를 섞어서 3명의 플레이어(0, 1, 2)에게 나누어주는 카지노 딜러입니다. 카드는 순서대로 플레이어 0, 1, 2에게 돌아가며 분배됩니다. 지민이는 카드를 섞어 특정 카드가 원하는 플레이어에게 가도록 해야 합니다. 카드를 섞을 때, 각 카드는 미리 정의된 순열 S에 따라 이동합니다. 목표는 최종적으로 각 카드가 배열 P에 정의된 대로 특정 플레이어에게 가는 상태를 만드는 것이며, 이를 위해 필요한 최소 섞는 횟수를 구하는 것입니다. 만약 목표 상태에 도달할 수 없다면 -1을 반환합니다.푼 방법 카드 목표 위치 설정: 배열 P에 따라 각 카드가 가야 할 플레이어를 미리 ..

728x90
반응형