일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 호이스팅
- map
- 결정 알고리즘
- 타입 좁히기
- RTK Query
- async/await
- 인증/인가
- MSA
- tailwind
- useAppDispatch
- React
- 리터럴 타입
- ESlint
- CI/CD
- recoil
- webpack
- 투포인터
- SSR
- 태그된 유니온
- 인터섹션
- 공변성
- dfs
- 반공변성
- TS
- Jest
- Promise
- 무한 스크롤
- app router
- CORS
- autosize
- Today
- Total
목록전체 글 (522)
짧은코딩
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[..
https://www.acmicpc.net/problem/15903 내 풀이(맞음) import heapq a, b = map(int,input().split()) ary = input().split() ary = list(map(int, ary)) heapq.heapify(ary) #리스트를 힙으로 변환 for i in range(b): sum = ary[0] heapq.heappop(ary) sum += ary[0] heapq.heappop(ary) heapq.heappush(ary, sum) heapq.heappush(ary, sum) sum = 0 for i in ary: sum += i print(sum) heap을 사용하여 최소값을 2개를 추출하고 삭제한다음 heap에 더하는 방식으로 구현했다..
https://www.acmicpc.net/problem/2847 2847번: 게임을 만든 동준이 학교에서 그래픽스 수업을 들은 동준이는 수업시간에 들은 내용을 바탕으로 스마트폰 게임을 만들었다. 게임에는 총 N개의 레벨이 있고, 각 레벨을 클리어할 때 마다 점수가 주어진다. 플레이어 www.acmicpc.net 내 풀이(맞음) n = int(input()) ary = [] for i in range(n): x = int(input()) ary.append(x) count = 0 for i in range(n-1, 0, -1): if(ary[i]>ary[i-1]): continue else: while(ary[i]