[Silver I] 카드 구매하기 - 11052 문제 링크 성능 요약 메모리: 69104 KB, 시간: 20 ms 분류 다이나믹 프로그래밍 제출 일자 2024년 1월 22일 23:45:22 문제 설명 요즘 민규네 동네에서는 스타트링크에서 만든 PS카드를 모으는 것이 유행이다. PS카드는 PS(Problem Solving)분야에서 유명한 사람들의 아이디와 얼굴이 적혀있는 카드이다. 각각의 카드에는 등급을 나타내는 색이 칠해져 있고, 다음과 같이 8가지가 있다. 전설카드 레드카드 오렌지카드 퍼플카드 블루카드 청록카드 그린카드 그레이카드 카드는 카드팩의 형태로만 구매할 수 있고, 카드팩의 종류는 카드 1개가 포함된 카드팩, 카드 2개가 포함된 카드팩, ... 카드 N개가 포함된 카드팩과 같이 총 N가지가 존재..
[Silver IV] 돌 게임 2 - 9656 문제 링크 성능 요약 메모리: 69096 KB, 시간: 12 ms 분류 다이나믹 프로그래밍, 게임 이론, 수학 제출 일자 2024년 1월 31일 00:05:05 문제 설명 돌 게임은 두 명이서 즐기는 재밌는 게임이다. 탁자 위에 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1개 또는 3개 가져갈 수 있다. 마지막 돌을 가져가는 사람이 게임을 지게 된다. 두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오. 게임은 상근이가 먼저 시작한다. 입력 첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1000) 출력 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. 풀이 해당 문제 또한 htt..
[Silver V] 돌 게임 - 9655 문제 링크 성능 요약 메모리: 69096 KB, 시간: 8 ms 분류 다이나믹 프로그래밍, 게임 이론, 수학 제출 일자 2024년 1월 28일 00:20:40 문제 설명 돌 게임은 두 명이서 즐기는 재밌는 게임이다. 탁자 위에 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1개 또는 3개 가져갈 수 있다. 마지막 돌을 가져가는 사람이 게임을 이기게 된다. 두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오. 게임은 상근이가 먼저 시작한다. 입력 첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1000) 출력 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. 풀이 해당 문제의 규칙을 찾아보기..
[Silver II] 연속합 - 1912 문제 링크 성능 요약 메모리: 76112 KB, 시간: 32 ms 분류 다이나믹 프로그래밍 제출 일자 2024년 1월 22일 00:35:22 문제 설명 n개의 정수로 이루어진 임의의 수열이 주어진다. 우리는 이 중 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 구하려고 한다. 단, 수는 한 개 이상 선택해야 한다. 예를 들어서 10, -4, 3, 1, 5, 6, -35, 12, 21, -1 이라는 수열이 주어졌다고 하자. 여기서 정답은 12+21인 33이 정답이 된다. 입력 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 ..
Graph 그래프는 물체 사이의 관계를 정의해주는 자료 구조입니다. 그래프는 모서리(edge)로 연결된 꼭짓점(vertices)들로 만들어져있습니다. Weighted graphs 가중치가 부여된 그래프에서 모든 엣지는 이 엣지를 사용하는 비용을 나타내는 가중치를 가집니다. 이러한 가중치는 꼭짓점 사이에 있어서 가장 저렴하거나 가장 짧은 경로를 선택할 수 있도록 해줍니다. 항공의 예시를 통해 비행 경로를 다양하게 하는 네트워크의 예시를 생각해봅시다. 위의 예시에서 꼭짓점은 주나 나라를 나타내고, 모서리는 지점 간의 경로를 나타냅니다. 각각의 엣지에 있는 가중치는 두 지점 간의 항공료를 나타냅니다. 이 네트워크를 통해 샌프란시스코에서 싱가폴로의 가장 싼 항공권을 결정할 수 있습니다. Directed grap..
[Silver III] 2×n 타일링 - 11726 문제 링크 성능 요약 메모리: 69100 KB, 시간: 12 ms 분류 다이나믹 프로그래밍 제출 일자 2024년 1월 29일 14:49:07 문제 설명 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. 입력 첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000) 출력 첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다. 풀이 해당 문제를 풀기 위해서 "순열"을 떠올릴 필요가 있습니다. 예를 들어 [1, 2, 3, 4]라는 숫자들의 조합을 나타내는 방법은 4! = 24입니다. 여기서 만약 첫 번째 자..
사장님 몰래하는 파이썬 업무 자동화 평소 업무 자동화에 대해 관심만 가지고 있었는데, 우연히 이러한 책이 있다는 소식을 듣고 서평단을 신청했는데, 당첨이 되었습니다,,! 그래서 이 책에 대한 간략한 소개와 느낀점을 적어보도록 하겠습니다. 우선 이 책은 RPA에 대한 설명부터 프로그래밍 언어인 "파이썬"을 이용하여 엑셀, 워드 등의 작업에서 업무를 자동화하는 방법을 알려줍니다. 파이썬 환경 설정부터 엑셀, 워드, PDF, 메일, 웹 크롤링 등을 파이썬을 통해 생성하고 실행하는 방법에 대해 알려줍니다. 각 단원마다 파일을 생성하는 방법부터 작성, 저장, 편집 등을 코드 뿐만 아니라 그림으로도 보여주어 더욱 쉽게 이해할 수 있었습니다. 또한 각 단원의 마지막 부분에선 해당 단원에 대해 복습할 수 있도록 구성되..
[Gold V] 두 수의 합 - 9024 문제 링크 성능 요약 메모리: 122436 KB, 시간: 508 ms 분류 이분 탐색, 정렬, 두 포인터 제출 일자 2024년 1월 21일 16:49:00 문제 설명 여러 개의 서로 다른 정수 S = {a1, a2, …, an} 와 또 다른 정수 K 가 주어졌을 때, S 에 속하는 서로 다른 두 개의 정수의 합이 K 에 가장 가까운 두 정수를 구하시오. 예를 들어, 10 개의 정수 S = { -7, 9, 2, -4, 12, 1, 5, -3, -2, 0} 가 주어졌을 때, K = 8 에 그 합이 가장 가까운 두 정수는 {12, -4} 이다. 또한 K = 4 에 그 합이 가장 가까운 두 정수는 {-7, 12}, {9, -4}, {5, -2}, {5, 0}, {1, 2..