본문 바로가기

분류 전체보기

(234)
백준 15486 퇴사 2 파이썬 풀이 난이도 : 골드5 풀이일 : 2404243 https://www.acmicpc.net/problem/15486 15486번: 퇴사 2 첫째 줄에 N (1 ≤ N ≤ 1,500,000)이 주어진다. 둘째 줄부터 N개의 줄에 Ti와 Pi가 공백으로 구분되어서 주어지며, 1일부터 N일까지 순서대로 주어진다. (1 ≤ Ti ≤ 50, 1 ≤ Pi ≤ 1,000) www.acmicpc.net 문제 캡쳐 전체 풀이코드 import sys N = int(sys.stdin.readline()) counsel = [(0, 0)] # 상담정보 dp = [0] * (N + 1) # 각 일자의 최고 금액 for _ in range(N): day, money = map(int, sys.stdin.readline().split(..
백준 2470 두 용액 파이썬 풀이 난이도 : 골드5 풀이일 : 2404221 https://www.acmicpc.net/problem/2470 2470번: 두 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,00 www.acmicpc.net 문제 캡쳐 아이디어 용액을 정렬한다. 가장 왼쪽과 가장 오른쪽 용액을 초기 값으로 두고, 두 용액의 합을 저장된 값과 비교한다. 두 용액 합의 절댓값이 저장된 값보다 작으면, 저장된 값과 현재 인덱스를 저장한다. 두 용액의 합이 음수라면 front를 오른쪽으로 움직이고, 양수라면 rear를 왼쪽으로 움직인다. 반복문 종료..
백준 1976 여행 가자 파이썬 풀이 난이도 : 골드4 풀이일 : 2404173 https://www.acmicpc.net/problem/1976 1976번: 여행 가자 동혁이는 친구들과 함께 여행을 가려고 한다. 한국에는 도시가 N개 있고 임의의 두 도시 사이에 길이 있을 수도, 없을 수도 있다. 동혁이의 여행 일정이 주어졌을 때, 이 여행 경로가 가능한 것인 www.acmicpc.net 문제 캡쳐 아이디어 연결되어 있지 않은 도시가 있는지 확인하는 문제이므로, union-find 알고리즘을 통해 연결 여부를 확인한다. 여행하고자 하는 도시들에 대해 연결상태를 확인하고 연결되지 않은 도시가 있는 경우, NO를 출력하고 확인을 중단한다. 여행하고자 하는 모든 도시가 연결되어 있어 중간에 중단되지 않은 경우에는 YES를 출력한다. 전체 풀이코..
백준 13023 ABCDE 파이썬 풀이, 반례 난이도 : 골드5 풀이일 : 2404151 https://www.acmicpc.net/problem/13023 13023번: ABCDE 문제의 조건에 맞는 A, B, C, D, E가 존재하면 1을 없으면 0을 출력한다. www.acmicpc.net 문제 캡쳐 문제 이해 처음에는 싸이클을 이루지 않는 일방향 친구 관계를 찾으라는 문제라고 이해했다가, 이상해서 예시를 그려보았다. 문제에 그림도 같이 나와있으면 더 이해하기 쉬웠을텐데 아쉽다. 아이디어 한 사람부터 시작해 이미 지나온 사람을 제외하고 DFS 탐색으로 깊이 5까지 도달할 수 있는 경우가 있는지 탐색하자. 전체 풀이코드 import sys # 한 숫자에서 다섯 번 DFS 호출이 가능한지 확인 def DFS(n, depth): visited[n] =..
백준 11000 강의실 배정 파이썬 풀이 난이도 : 골드5 풀이일 : 2404114 https://www.acmicpc.net/problem/11000 11000번: 강의실 배정 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si < Ti ≤ 109) www.acmicpc.net 문제 캡쳐 아이디어 각 강의의 시작, 끝 시간을 입력받아 오름차순으로 저장한다. 매 강의 정보에 대해 이전 강의의 끝 시간이 현재 강의의 시작 시간보다 작은 것이 있는지 탐색하고, 조건에 부합하는 것이 있다면, 앞 강의를 현재 강의 배열에서 제거한다. 조건에 해당하지 않건, 해당하건 강의의 정보를 현재 강의 배열에 추가한다. 추가 후, 현재 강의 개수가 이전에 저장된 수보다 많은지 확인하고, 변수를 업..
백준 2437 저울 파이썬 풀이 난이도 : 골드2 풀이일 : 2404103 https://www.acmicpc.net/problem/2437 2437번: 저울 하나의 양팔 저울을 이용하여 물건의 무게를 측정하려고 한다. 이 저울의 양 팔의 끝에는 물건이나 추를 올려놓는 접시가 달려 있고, 양팔의 길이는 같다. 또한, 저울의 한쪽에는 저울추들만 놓 www.acmicpc.net 문제 캡쳐 아이디어 무게추의 무게만큼, 저울로 잴 수 있는 무게의 수가 늘어난다. 최초 무게 추 1 +1 : 1, 2 +2 : 1, 2, 3, 4 +3 : 1, 2, 3, 4, 5, 6, 7 +5 : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 num + 무게추 무게를 반복하다가, num < weight 순간 찾기 전체 풀이코드 import ..
백준 20136 멀티탭 스케줄링 2 파이썬 풀이 난이도 : 플레티넘4 풀이일 : 2404092 https://www.acmicpc.net/problem/20136 20136번: 멀티탭 스케줄링 2 기숙사에서 살고 있는 준규는 한 개의 멀티탭을 이용하고 있다. 준규는 키보드, 헤어드라이기, 핸드폰 충전기, 디지털 카메라 충전기 등 여러 개의 전기용품을 사용하면서 어쩔 수 없이 각종 전 www.acmicpc.net 문제 캡쳐 아이디어 멀티탭에 빈 자리가 있다면, 현재 기기의 플러그를 연결하고, 현재 기기의 다음 사용 순서를 기록한다. 멀티탭에 빈 자리가 없다면 연결되어 있는 기기 중 다음 사용 순서가 가장 많이 남은 것을 제거하고, 현재 기기를 연결한 후, 현재 기기의 다음 사용 순서를 기록한다. 전체 풀이코드 import sys, heapq N, K =..
백준 1881 공 바꾸기 파이썬 풀이 난이도 : 골드1 풀이일 : 2404081 https://www.acmicpc.net/problem/1881 1881번: 공 바꾸기 0부터 9까지의 숫자가 각각 적힌 열 개의 공과, 0부터 9까지의 숫자 중 하나가 적힌 여러 장의 카드들이 있다. 그리고 각각 공 하나씩을 담을 수 있는 상자 네 개가 있다. 같은 숫자의 카드는 여러 www.acmicpc.net 문제 캡쳐 아이디어 비어있는 상자가 있다면, 공을 비어있는 상자에 집어 넣고 count + 1 비어있는 상자가 없다면, 다음 사용까지의 시간을 비교 사용이 끝난 공이 있다면, 해당 공을 제거 후, 새 공을 집어 넣고 count + 1 사용이 끝난 공이 없다면, 다음 사용 시점이 가장 늦은 공을 제거 후, 새 공을 집어 넣고 count + 1 교체는 ..
맥M1 IntelliJ 인텔리제이 개발환경 세팅 인텔리제이 설치 후 기본 개발환경 세팅과정입니다. 인텔리제이 설치와 학생인증 정보는 아래 게시글에서 확인하실 수 있어요. https://chadireoroonu.tistory.com/179 IntelliJ 학생인증을 위한 JET BRAINS 가입 인텔리제이 유료버전 사용을 위한 학생인증 방법을 기록해봅니다. 인텔리제이 유료버전인 Ultimate는 30일 무료, 결제, 학생인증 세 가지 방식으로 사용할 수 있습니다. 학생인증의 경우, 1년 마다 chadireoroonu.tistory.com https://chadireoroonu.tistory.com/180 이제부터 본격적인 세팅과정입니다. 1. 새 프로젝트를 생성합니다. new project를 클릭 후 제목 입력, Create를 클릭해 새 프로젝트를 생성..
백준 1700 멀티탭 스케줄링 파이썬 풀이, 반례 난이도 : 골드1 풀이일 : 2404077 https://www.acmicpc.net/problem/1700 1700번: 멀티탭 스케줄링 기숙사에서 살고 있는 준규는 한 개의 멀티탭을 이용하고 있다. 준규는 키보드, 헤어드라이기, 핸드폰 충전기, 디지털 카메라 충전기 등 여러 개의 전기용품을 사용하면서 어쩔 수 없이 각종 전 www.acmicpc.net 문제 캡쳐 아이디어 비어있는 플러그가 있다면, 현재 사용할 제품을 그냥 연결한다. 비어있는 플러그가 없다면, 현재 연결 되어있는 제품의 플러그를 한 개 제거하고 제거 횟수를 센다. 사용이 끝나 더이상 사용하지 않을 제품을 우선적으로 제거한다. 사용이 끝난 제품이 없다면, 다음 사용순서가 가장 많이 남은 제품을 제거한다. 전체 풀이코드 import sys ..
백준 2294 동전 2 파이썬 풀이 난이도 : 골드5 풀이일 : 2404066 https://www.acmicpc.net/problem/2294 2294번: 동전 2 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. 가치가 같은 동전이 여러 번 주어 www.acmicpc.net 문제 풀이코드 import sys n, k = map(int, sys.stdin.readline().split()) coins = [] dp = [float('inf')] * (k + 1) # 초기값 무한 dp[0] = 0 # 0 만드는 동전 개수 for _ in range(n): coins.append(int(sys.st..
백준 1106 호텔 파이썬 풀이 난이도 : 골드5 풀이일 : 2404055 https://www.acmicpc.net/problem/1106 1106번: 호텔 첫째 줄에 C와 형택이가 홍보할 수 있는 도시의 개수 N이 주어진다. C는 1,000보다 작거나 같은 자연수이고, N은 20보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 각 도시에서 홍보할 때 www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 풀이코드 import sys C, N = map(int, sys.stdin.readline().split()) ad = [] # 비용 정보 없음, 고객의 수 최대 100명 dp = [int(1e9)] * (C + 100) dp[0] = 0 # 0 초기화 for _ in range(N): cost, peop..
맥 M1 IntelliJ 인텔리제이 설치 및 학생인증 이클립스를 설치하고 나서 대부분의 자바 개발자들은 인텔리제이를 사용한다는 소식을 듣고, 다시 세팅을 시작합니다. 인텔리제이 학생인증을 위해, 먼저 JetBrain 학생계정 회원가입이 필요합니다. 관련 글은 아래 정리해두었습니다. https://chadireoroonu.tistory.com/179 IntelliJ 학생인증을 위한 JET BRAINS 가입 인텔리제이 유료버전 사용을 위한 학생인증 방법을 기록해봅니다. 인텔리제이 유료버전인 Ultimate는 30일 무료, 결제, 학생인증 세 가지 방식으로 사용할 수 있습니다. 학생인증의 경우, 1년 마다 chadireoroonu.tistory.com 인텔리제이 설치 방법을 기록해보겠습니다. 1. 먼저, 인텔리제이 공식 홈페이지에 접속해 적절한 OS의 유료/무료..
백준 9935 문자열 폭발 파이썬 풀이 난이도 : 골드4 풀이일 : 2404044 https://www.acmicpc.net/problem/9935 9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모 www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 오답코드 -> 시간초과 import sys string = sys.stdin.readline().strip() target = sys.stdin.readline().strip() N = len(target) result = [] for alphabet in string: result.append..
백준 2293 동전 1 파이썬 풀이 난이도 : 골드5 풀이일 : 2404033 https://www.acmicpc.net/problem/2293 2293번: 동전 1 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 풀이코드 import sys n, k = map(int, sys.stdin.readline().split()) coins = [] # 동전 종류 for _ in range(n): coin = int(sys.stdin.readline()) coins.append(coin) dp = [0] * (k + 1) # 경..
백준 1939 중량제한 파이썬 풀이 난이도 : 골드3 풀이일 : 2404022 https://www.acmicpc.net/problem/1939 1939번: 중량제한 첫째 줄에 N, M(1 ≤ M ≤ 100,000)이 주어진다. 다음 M개의 줄에는 다리에 대한 정보를 나타내는 세 정수 A, B(1 ≤ A, B ≤ N), C(1 ≤ C ≤ 1,000,000,000)가 주어진다. 이는 A번 섬과 B번 섬 사이에 중량제한이 www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 풀이코드 import sys, heapq N, M = map(int, sys.stdin.readline().split()) loads = [[] for _ in range(N + 1)] # 다리 연결 및 중량제한 for _ in range(M): # ..
IntelliJ 학생인증을 위한 JET BRAINS 가입 인텔리제이 유료버전 사용을 위한 학생인증 방법을 기록해봅니다. 인텔리제이 유료버전인 Ultimate는 30일 무료, 결제, 학생인증 세 가지 방식으로 사용할 수 있습니다. 학생인증의 경우, 1년 마다 갱신이 필요해요. 1. JET BRAINS 홈페이지에 접속합니다. https://www.jetbrains.com/community/education/#students Free Educational Licenses - Community Support Learn or teach how to code with best-of-industry tools from JetBrains. Free Educational Licenses for JetBrains' tools. www.jetbrains.com 2. 스크롤을 아래..
백준 14267 회사 문화 1 파이썬 풀이 난이도 : 골드 4 풀이일 : 2404011 https://www.acmicpc.net/problem/14267 14267번: 회사 문화 1 영선회사에는 매우 좋은 문화가 있는데, 바로 상사가 직속 부하를 칭찬하면 그 부하가 부하의 직속 부하를 연쇄적으로 칭찬하는 내리 칭찬이 있다. 즉, 상사가 한 직속 부하를 칭찬하면 그 부하 www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 풀이코드 import sys sys.setrecursionlimit(10 ** 9) # 내 자식들에게 나의 칭찬 점수 누적합산 def DFS(x): for nx in tree[x]: result[nx] += result[x] DFS(nx) return n, m = map(int, sys.stdin.read..
리액트 웹사이트 아이콘 파비콘 만들기 리액트로 만든 웹사이트의 파비콘은 기본적으로 리액트 아이콘으로 되어있는데, 이 부분을 변경해보았습니다. 사진 속, '우리나라 독립달력' 왼쪽 모양을 변경할거예요! 가장 먼저 해야할 일은, 파비콘을 제작하는 것입니다. 파비콘 만들기 기존에 만들어둔 이미지가 있는 경우, 해당이미지를 사용해 쉽게 파비콘을 제작할 수 있어요. 1. 파비콘 제작 사이트 접속 https://www.favicon-generator.org/ Favicon & App Icon Generator Upload an image (PNG to ICO, JPG to ICO, GIF to ICO) and convert it to a Windows favicon (.ico) and App Icons. Learn more about favicons...
백준 2109 순회강연 파이썬 풀이 난이도 : 골드3 풀이일 : 2403295 https://www.acmicpc.net/problem/2109 2109번: 순회강연 한 저명한 학자에게 n(0 ≤ n ≤ 10,000)개의 대학에서 강연 요청을 해 왔다. 각 대학에서는 d(1 ≤ d ≤ 10,000)일 안에 와서 강연을 해 주면 p(1 ≤ p ≤ 10,000)만큼의 강연료를 지불하겠다고 알려왔다. www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 풀이코드 import sys, heapq n = int(sys.stdin.readline()) order = [] # 마감일 정렬 들어온 제안 choice = [] # 강연료 정렬 선택한 제안 for _ in range(n): p, d = map(int, sys.stdin...