일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Promise
- RTK Query
- 공변성
- ESlint
- dfs
- SSR
- 호이스팅
- 태그된 유니온
- CORS
- Jest
- tailwind
- app router
- 리터럴 타입
- webpack
- CI/CD
- 이분 검색
- 투포인터
- 결정 알고리즘
- async/await
- useAppDispatch
- map
- 무한 스크롤
- autosize
- Cypress
- TS
- 타입 좁히기
- recoil
- 반공변성
- React
- 인터섹션
- Today
- Total
목록코딩 테스트(Python) (118)
짧은코딩
내 풀이(이진 탐색을 어이없게 구현하지 못함) # 이진 탐색 def binary(ary, target, start, end): left = start mid = (start + end) // 2 right = end if left > right: return "no" if target == ary[mid]: return "yes" elif target < ary[mid]: return binary(ary, target, left, mid-1) else: return binary(ary, target, mid+1, right) n = int(input()) ary = list(map(int, input().split())) ary.sort() m = int(input()) chk = list(map(int..
트리 이진 탐색의 전제 조건은 데이터가 정렬되어 있어야 한다. DB는 내부적으로 대용량 데이터 처리에 적합한 트리 구조를 사용하여 데이터가 항상 정렬되어 있다. 이진 탐색과 유사한 방법을 이용해 탐색을 항상 빠르게 수행하도록 설계되어 있다. 1. 트리는 부모, 자식 노드로 구성 2. 최상단 노드 = 루트 노드 3. 최하단 노드 = 단말 노드 4. 일부를 때어내도 트리 구조이며 서브 트리라고 부른다. 5. 파일 시스템처럼 계층적이고 정렬된 데이터를 다루기 적합하다. 이진 탐색 트리 트리 자료구조 중에서 가장 간단한 형태가 이진 탐색 트리이다. 1. 부모 노드보다 왼쪽 자식 노드가 작다. 2. 부모 노드보다 오른쪽 자식 노드가 크다. -이진 탐색 트리 1. 위 그림에서 37를 찾기 위해서는 먼저 루트 노드부..
https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 내 풀이(맞음) n = int(input()) ary = [] for i in range(n): ary.append(input()) count = n for i in range(n): dic = [] t = ary[i] for j in range(len(t)): if t[j] not in dic: dic.append(t[j]) elif (t[j-1] == t[j])..
https://www.acmicpc.net/problem/1213
https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 내 풀이(맞음) n = int(input()) ary = [] for i in range(n): x = input() if x not in ary: ary.append(x) cnt = [] #(길이, 문자) for i in range(len(ary)): t = ary[i] cnt.append((len(t), t)) cnt.sort() for i in range(len(cnt)): pri..
https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 내 풀이(맞음) x = input() x = x.upper() dic = {} for i in range(len(x)): if x[i] not in dic: dic[x[i]] = 1 else: dic[x[i]] += 1 dic = sorted(dic.items(), key = lambda x: x[1], reverse=True) if len(x) > 1: if dic[0][1] == dic[1][1]: print("?") else..
https://www.acmicpc.net/problem/14425 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어 www.acmicpc.net 내 풀이(맞음) n, m = map(int, input().split()) ary = [] for i in range(n): ary.append(input()) count = 0 for i in range(m): x = input() if x in ary: count += 1 print(count) 사실 이 문제는 단순히 배열에 값이 있냐 없냐를 비교하면서 풀었다...
https://www.acmicpc.net/problem/2161 2161번: 카드1 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 내 풀이(맞음) from collections import deque n = int(input()) ary = deque(i for i in range(1, n+1)) cnt = [] while ary: cnt.append(ary.popleft()) if ary: t = ary.popleft() ary.append(t) for i in cnt: print(i, end = " ") deque를 이용..
https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 내 풀이(맞춤) from collections import deque n = int(input()) m = int(input()) dic = {} for i in range(m): a, b = map(int, input().split()) if a not in dic: dic[a] = [b] else: dic[a].append(b) if b not in dic: dic[b] = [a] else: dic..
https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 내 풀이(결국 구글링을 해서 이해했다ㅜㅜ) from collections import deque n = int(input()) ary = [] for i in range(n): ary.append(list(map(int, input()))) #상하좌우 dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] def bfs(x, y): q = deque() q.append((x, y)) a..