전체 글
-
11399. [Python]ATMPython_알고리즘/Silver IV 2023. 1. 26. 11:01
1. 문제 https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 256MB 낮은 수 정렬 3. 파이썬 코드 N = int(input()) # 결과값 출력할 변수 선언 total_min = 0 num_list = list(map(int,input().split())) # 리스트 정렬 num_list.sort() # 중간값 변수 설정 check = 0 for i in num_list: check += i total_min += chec..
-
1459. [Python]걷기Python_알고리즘/Silver IV 2023. 1. 25. 23:40
1. 문제 https://www.acmicpc.net/problem/1459 1459번: 걷기 세준이는 학교에서 집으로 가려고 한다. 도시의 크기는 무한대이고, 도시의 세로 도로는 모든 정수 x좌표마다 있고, 가로 도로는 모든 정수 y좌표마다 있다. 세준이는 현재 (0, 0)에 있다. 그리고 ( www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB 경우의 수 생각 3. 파이썬 코드 X,Y,W,S = map(int,input().split()) # 직선으로 이동한 거리 s1 = (X+Y)*W # 대각선으로만 이동한 거리 X,Y의 합이 2의 배수가 아닌경우 홀수로 한칸이 남기때문에 조건을 다르게 해줘야한다. if (X+Y) % 2 == 0: s2 = max(X,Y)*S el..
-
1712. [Python]손익분기점Python_알고리즘/Bronze II 2023. 1. 23. 23:10
1. 문제 https://www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www.acmicpc.net 2. 접근 방법 시간 제한: 0.35초 메모리 제한: 128MB 규칙 찾기 3. 파이썬 코드 A,B,C = map(int,input().split()) # 결과를 출력하기 위해서는 C-B를 빼줘야 하는데 B가 C보다 큰 경우 이득이 생길 수 없고 같으면 0 이나오기 때문에 0으로 값을 나눌 수 없어서 >= 사용 if B >= C: print(-1) else: # 이득이 나는 구조는 결국 C와..
-
2839. [Python]설탕 배달Python_알고리즘/Silver IV 2023. 1. 23. 22:53
1. 문제 https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 128MB 구현(약간의 탐욕 알고리즘) 3. 파이썬 코드 N = int(input()) # 시간 복잡도를 줄이기 위해 5의 배수일 경우 바로 출력 if N%5 == 0: print(N//5) # 5이하일 경우 3인 경우 바로 1 출력 외에는 -1 출력 되게 시간복잡도 절약 elif N < 5: if N == 3: print(N//3) else: pr..
-
탐욕 알고리즘(Greedy Algorithm)알고리즘 2023. 1. 23. 21:48
1. 탐욕 알고리즘(Greedy Algorithm) 이란? 선택의 순간에서 눈앞의 최적의 선택만을 따라가 최종적으로 답을 도출해내는 방법. 알고리즘을 푸는데에 있어서 최소한의 아이디어를 떠올릴 수 있는지를 물어보는 문제유형 Greedy Algorithm은 매 순간마다 그 상황에서 최적의 값이라고 생각하는 것을 따라가지만 전체적으로 봤을 경우 그 값이 최적의 값이라고 할 수 없다. 2. 탐욕 알고리즘(Greedy Algorithm)의 문제 해결 방식 선택 절차 : 현재 상태에서 최적의 값을 선택 적절성 검사 : 선택한 값이 문제의 조건과 일치하는지 비교 해답 검사 : 문제가 해결되었는지 판단 후 해결되지 않았을 경우 위의 과정을 반복 Greedy Algorithm은 항상 최적의 값을 찾아내는 것이 아니다...
-
2775. [Python]부녀회장이 될테야Python_알고리즘/Bronze I 2023. 1. 22. 23:21
1. 문제 https://www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다 www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 128MB 2차원 배열을 생성하여 접근 3. 파이썬 코드 T = int(input()) # 0층은 존재하지 않으므로 1~14호 까지는 직접 넣어주고 나머지 1층부터 14층까지는 0으로 이차원 배열을 생성해준다. apt = [[1,2,3,4,5,6,7,8,9,10,11,12,13,14]] + [[0]*14 for _ in range(14)] # 1층부터 15층까지 배열을 반복 fo..
-
2581. [Python]소수Python_알고리즘/Silver V 2023. 1. 21. 23:26
1. 문제 https://www.acmicpc.net/problem/2581 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 128MB 소수 판별법 => 에라토스테네스의 체 3. 파이썬 코드 def prime(n,m): # 문제에서 주어진 Input 값의 범위가 10000이기 때문에 list 크기를 10001 로 설정해준다. # list의 Index 값은 0 부터 시작하기 때문에 10001개로 설정 prime_list = [False, False] + [True]*10**..
-
2438. [Python]별 찍기 - 1Python_알고리즘/Bronze V 2023. 1. 20. 23:15
1. 문제 https://www.acmicpc.net/problem/2438 2438번: 별 찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 128MB 반복문 3. 파이썬 코드 T = int(input()) for i in range(1,T+1): print("*"*i) 4. 문제를 풀고난 후 생각 반복문을 알고 있는지 물어보는 문제 print로 문자열을 출력할때 '*'을 통하여 반복횟수를 조절할 줄 아는지 5. 문제를 푸는데 도움이 되는 지식 파이썬 반복문
-
1330. [Python]두 수 비교하기Python_알고리즘/Bronze V 2023. 1. 20. 23:05
1. 문제 https://www.acmicpc.net/problem/1330 1330번: 두 수 비교하기 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 512MB 비교 연산자 이해 3. 파이썬 코드 a,b=map(int,input().split()) if a > b : print(">") elif a < b: print("
-
1008. [Python]A/BPython_알고리즘/Bronze V 2023. 1. 20. 23:01
1. 문제 https://www.acmicpc.net/problem/1008 1008번: A/B 두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB 사칙연산 3. 파이썬 코드 a,b = map(int,input().split()) print(a/b) 4. 문제를 풀고난 후 생각 파이썬에서 사칙연산을 사용할 수 있는지를 물어보는 문제 5. 문제를 푸는데 도움이 되는 지식 파이썬 사칙연산