일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- React
- CORS
- autosize
- Jest
- tailwind
- 투포인터
- 호이스팅
- RTK Query
- recoil
- 무한 스크롤
- ESlint
- 공변성
- 인터섹션
- Promise
- 리터럴 타입
- SSR
- 결정 알고리즘
- CI/CD
- webpack
- dfs
- app router
- 반공변성
- 타입 좁히기
- 태그된 유니온
- TS
- useAppDispatch
- async/await
- map
- Cypress
- 이분 검색
- Today
- Total
목록코딩 테스트(Python) (118)
짧은코딩
https://www.acmicpc.net/problem/10866 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 내 풀이(맞음) from collections import deque class Deque: def __init__(self, ary = deque()): self.ary = ary def push_front(self, ary, item): ary.append(item) def push_back(self, ary, item): ary.appendleft(item) def pop_f..
https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 내 풀이(맞음) from collections import deque class Queue: def __init__(self, ary = deque()): self.ary = ary def push(self, ary, item): ary.appendleft(item) def pop(self, ary): if ary: t = ary.pop() return t else: return ..
https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 내 풀이(맞음) class Stack: def __init__(self, ary): self.ary = [] def push(self, ary, item): ary.append(item) def pop(self, ary): if ary: t = ary[len(ary)-1] del ary[len(ary)-1] return t else: return -1 def size(self, ..
https://www.acmicpc.net/problem/16435 16435번: 스네이크버드 첫 번째 줄에 과일의 개수 N (1 ≤ N ≤ 1,000) 과 스네이크버드의 초기 길이 정수 L (1 ≤ L ≤ 10,000) 이 주어집니다. 두 번째 줄에는 정수 h1, h2, ..., hN (1 ≤ hi ≤ 10,000) 이 주어집니다. www.acmicpc.net 내 풀이(맞음) n, h = map(int, input().split()) ary = list(map(int, input().split())) ary.sort() for i in range(n): if(h >= ary[i]): h += 1 else: break print(h) 과일 개수와 높이를 입력받고 과일의 높이를 오름차순으로 정렬합니다. 그..
https://www.acmicpc.net/problem/1744 1744번: 수 묶기 길이가 N인 수열이 주어졌을 때, 그 수열의 합을 구하려고 한다. 하지만, 그냥 그 수열의 합을 모두 더해서 구하는 것이 아니라, 수열의 두 수를 묶으려고 한다. 어떤 수를 묶으려고 할 때, 위치에 www.acmicpc.net 내 풀이(반례 엄청봤지만 맞음) ary =[[], [], [], []] n = int(input()) for i in range(n): x = int(input()) if x > 0: ary[0].append(x) elif x == 0: ary[1].append(x) else: ary[2].append(x) ary[2].sort() while(True): if(len(ary[2])
https://www.acmicpc.net/problem/1343 1343번: 폴리오미노 첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다. www.acmicpc.net 내 풀이(맞음) x = input() count = 0 for i in range(len(x)): if(x[i]=='X'): count += 1 if(count == 4 or (x[i]=='.' and count == 4)): x = x.replace('X', 'A', 4) count = 0 elif((count == 2 and i == len(x)-1) or (x[i]=='.' and count == 2)): x = x.replace('X', 'B', 2) count = 0 elif((x[i]=='..
https://www.acmicpc.net/problem/1758 1758번: 알바생 강호 첫째 줄에 스타박스 앞에 서 있는 사람의 수 N이 주어진다. N은 100,000보다 작거나 같은 자연수이다. 둘째 줄부터 총 N개의 줄에 각 사람이 주려고 하는 팁이 주어진다. 팁은 100,000보다 작거나 같 www.acmicpc.net 내 풀이(맞음) n = int(input()) ary = [] for i in range(n): x = int(input()) ary.append(x) ary.sort(reverse = True) sum = 0 count = 1 for i in range(n): tmp = ary[i] - (count - 1) if(tmp < 0): continue sum += tmp count ..
https://www.acmicpc.net/problem/11508 11508번: 2+1 세일 KSG 편의점에서는 과일우유, 드링킹요구르트 등의 유제품을 '2+1 세일'하는 행사를 하고 있습니다. KSG 편의점에서 유제품 3개를 한 번에 산다면 그중에서 가장 싼 것은 무료로 지불하고 나머지 두 www.acmicpc.net 내 풀이(맞음) n = int(input()) ary = [] for i in range(n): x = int(input()) ary.append(x) ary.sort(reverse = True) s = [[]] j = 0 for i in range(n): if i != 0 and (i+1) % 3 == 0: s.append([]) j += 1 continue s[j].append(ar..
https://www.acmicpc.net/problem/18310 18310번: 안테나 첫째 줄에 집의 수 N이 자연수로 주어진다. (1≤N≤200,000) 둘째 줄에 N채의 집에 위치가 공백을 기준으로 구분되어 1이상 100,000이하의 자연수로 주어진다. www.acmicpc.net 내 풀이(맞음) n = int(input()) ary = list(map(int, input().split())) m = len(ary)//2 - 1 l = m + 1 ary.sort() sum1 = 0 sum2 = 0 for i in range(n): if i == m: continue sum1 += abs(ary[m] - ary[i]) for i in range(n): if i == l: continue sum2 +..
https://www.acmicpc.net/problem/14659 14659번: 한조서열정리하고옴ㅋㅋ 첫째 줄에 봉우리의 수 겸 활잡이의 수 N이 주어진다. (1 ≤ N ≤ 30,000) 둘째 줄에 N개 봉우리의 높이가 왼쪽 봉우리부터 순서대로 주어진다. (1 ≤ 높이 ≤ 100,000) 각각 봉우리의 높이는 중복 없이 www.acmicpc.net 내 풀이(구글링 살짝했음) n = int(input()) x = input().split() x = list(map(int, x)) max1 = x[0] count = 0 base = 0 for i in range(1, n): if max1 > x[i]: count += 1 elif max1 < x[i]: max1 = x[i] count = 0 base = ..