일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Prefetch_related
- CI
- Git
- F객체
- QuerySet
- testcase
- aggregate
- Coroutine
- 백준
- to_attr
- django
- nestedfunction
- DjangoCache
- database
- racecondition
- annotate
- Python
- Continuous Deployment
- docker
- 코루틴
- Transaction
- EC2
- dry-yasg
- DRF
- DjangoRestFramework
- CD
- Continuous Delivery
- aws
- apitestcase
- 도커
- Today
- Total
목록분류 전체보기 (68)
BackEnd King KY

✔️문제 https://www.acmicpc.net/problem/10162 10162번: 전자레인지 3개의 시간조절용 버튼 A B C가 달린 전자레인지가 있다. 각 버튼마다 일정한 시간이 지정되어 있어 해당 버튼을 한번 누를 때마다 그 시간이 동작시간에 더해진다. 버튼 A, B, C에 지정된 시간은 www.acmicpc.net ✔️풀이 #300초 60초 10초 n = int(input()) a,b,c=0,0,0 if n%10 > 0 : print(-1) else: a = n//300 b = (n%300)//60 c = ((n%300)%60)//10 print(a,b,c) 5분, 1분 10초 -> 300초, 60초, 10초로 단위를 통일 시켜 준 뒤 몫과 나머지를 이용한 타 그리디 알고리즘 문제처럼 풀어..

✔️문제 https://www.acmicpc.net/problem/2217 2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하 www.acmicpc.net ✔️풀이 k = int(input()) a=0 l=[] m=[] for i in range(k): l.append(int(input())) l.sort(reverse=True) for i,v in enumerate(l): m.append( (i+1)*l[i] ) print(max(m)) 받은 중량을 역순으로 나눈 뒤, 인덱스와 곱한 값을 배열에 넣어줍니다. 최대 중량을 구하는 문..

✔️문제 https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net ✔️풀이 n = input().split("-") l=[] for i in n: a=0 m = i.split("+") for j in m: a += int(j) l.append(a) c = l[0] * 2 - sum(l) print(c) -가 핵심이기 때문에 - 기준으로 분리해서 받은 뒤 +연산된 걸 더해주기 위해 for문안에서 +로 스플릿을 했습니다. 1-34+11-22-23으로 ..

✔️문제 https://www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net ✔️풀이 n = int(input()) a = list(map(int, input().split())) b = list(map(int, input().split())) s = 0 while n>0: s += min(a)*max(b) a.pop(a.index(min(a))) b.pop(b.index(max(b))) n-=1 print(s) a배열의 최소값과 b배열의 최대값을 곱해서 ..

✔️문제 https://www.acmicpc.net/problem/5585 5585번: 거스름돈 타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사 www.acmicpc.net ✔️풀이 #1000 - input한 금액의 최소개수 n = int(input()) n = 1000 - n a = 0 while n>0: if n>=500: a+=n//500 n = n%500 if n>=100: a+=n//100 n = n%100 if n>=50: a+=n//50 n = n%50 if n>=10: a+=n//10 n = n%10 if n>=5: a+=..

✔️문제 https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net ✔️풀이 n = int(input()) l = [] for i in range(n): l.append(list(map(int, input().split()))) l = sorted(l, key=lambda a:a[0]) l = sorted(l, key=lambda a:a[1]) cnt = 0 base = 0 for i,j in l: if i >= base: base = j cnt +=1 print(cnt) 정렬 방법에 대해 찾아봤는데 sorted에서 key=lamda a:a[0] 이렇게 하면 a[0] ..

✔️문제 https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net ✔️풀이 n,k = map(int, input().split()) l=[] for _ in range(n): l.append(int(input())) cnt = 0 idx = n-1 while k!=0: cnt += k//l[idx] k %= l[idx] idx-=1 print(cnt) 생각했던 건 예를 들어, 4200 일 ..

✔️ 문제 https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net ✔️ 풀이 n = int(input()) l = list(map(int, input().split())) l.sort() tot = 0 for i in range(len(l)): tot += sum(l[:i+1]) print(tot) 오름차순으로 정렬한 다음 이전의 합들의 합(?)을 구해야 하는 문제여서 피보나치 개념으로 풀 수 있지 않을까 싶었습니다. 그래서 f(n-1)+f(n-2) 이렇게 하려고 했는데 그건 너무..