| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
- autosize
- Promise
- 인증/인가
- async/await
- webpack
- SSR
- 결정 알고리즘
- tailwind
- 투포인터
- Jest
- map
- app router
- useAppDispatch
- 인터섹션
- RTK Query
- 호이스팅
- TS
- ESlint
- CI/CD
- 태그된 유니온
- React
- MSA
- 무한 스크롤
- recoil
- 반공변성
- 공변성
- CORS
- dfs
- 타입 좁히기
- 리터럴 타입
- Today
- Total
목록전체 글 (524)
짧은코딩
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 = ..
https://www.acmicpc.net/problem/12904 12904번: A와 B 수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수 www.acmicpc.net 내 풀이(맞음) s = input() t = input() l = len(t) - len(s) for i in range(l): if(t[len(t)-1]=='A'): t = t[0:len(t)-1] elif(t[len(t)-1]=='B'): t = t[0:len(t)-1] t = t[::-1] if(t == s): print(1) break else: pri..
https://www.acmicpc.net/problem/11501 11501번: 주식 입력의 첫 줄에는 테스트케이스 수를 나타내는 자연수 T가 주어진다. 각 테스트케이스 별로 첫 줄에는 날의 수를 나타내는 자연수 N(2 ≤ N ≤ 1,000,000)이 주어지고, 둘째 줄에는 날 별 주가를 나타 www.acmicpc.net 내 풀이(맞음) n = int(input()) ary = [] for i in range(n): m = int(input()) x = input().split() x = list(map(int, x)) max = x[m-1] sum = 0 for j in range(m-2, -1, -1): if x[j] max): ma..
https://www.acmicpc.net/problem/15904 15904번: UCPC는 무엇의 약자일까? 첫 번째 줄에 알파벳 대소문자, 공백으로 구성된 문자열이 주어진다. 문자열의 길이는 최대 1,000자이다. 문자열의 맨 앞과 맨 끝에 공백이 있는 경우는 없고, 공백이 연속해서 2번 이상 주어지는 www.acmicpc.net 내 풀이(맞음) x = input() ary = ['U','C','P','C'] for i in range(len(x)): if x[i] == ary[0]: del ary[0] if len(ary) == 0: print("I love UCPC") break else: print("I hate UCPC") 처음엔 UUCPC 등의 반례를 생각하지 못했다. 그래서 ary에 UCP..
https://www.acmicpc.net/problem/2810 2810번: 컵홀더 첫째 줄에 좌석의 수 N이 주어진다. (1 ≤ N ≤ 50) 둘째 줄에는 좌석의 정보가 주어진다. www.acmicpc.net 내 풀이(맞음) n = int(input()) x = input() x = x.replace('LL', 'S') l = len(x) + 1 print(min(l, n)) LL를 S로 치환하여 풀었다.
https://www.acmicpc.net/problem/1449 1449번: 수리공 항승 첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나 www.acmicpc.net 내 풀이(맞음) N, L = map(int, input().split()) ary = [] x = input().split() for i in range(len(x)): ary.append(int(x[i])) ary.sort() chk = ary[0] + L - 0.5 count = 1 for i in range(1, N): if(ary[i]
https://www.acmicpc.net/problem/1946 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성 www.acmicpc.net 내 풀이(일주일째 못풀다가 힌트보고 겨우 맞춤) import sys m = int(input()) sum = [] for i in range(m): n = int(input()) ary = [] for j in range(n): x = sys.stdin.readline().split() ary.append([]) ary[j].append(int(x[0])) ary[j].app..
https://www.acmicpc.net/problem/2012 2012번: 등수 매기기 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 500,000) 둘째 줄부터 N개의 줄에 걸쳐 각 사람의 예상 등수가 순서대로 주어진다. 예상 등수는 500,000 이하의 자연수이다. www.acmicpc.net 내 풀이(맞음) import heapq n = int(input()) ary = [] for i in range(n): x = int(input()) ary.append(x) count = 0 heapq.heapify(ary) j = 1 for i in range(n): if(ary[0] == j): heapq.heappop(ary) j += 1 continue else: count += abs(ary[..