일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- C++
- programmers
- Get
- redux
- 이코테
- JavaScript
- maeil-mail
- 자바
- axios
- 항해99
- java
- 매일메일
- createSlice
- Python
- 리액트
- json-server
- sw expert academy
- 알고리즘
- 프로그래머스
- redux-toolkit
- react-redux
- Algorithm
- 항해플러스
- 테코테코
- redux-saga
- react-router
- useDispatch
- SW
- 코딩테스트합격자되기
- react
- Today
- Total
목록프로그래머스 (113)
Binary Journey
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/UxnMV/btrBWPCEVTY/uiqkPPtSfmkwOpgfWNjq2k/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges 머리로는 뭔가 할 수 있을 듯 말듯한데 결국 구글의 도움을 받아야 했음 def solution(rows, columns, queries): answer = [] box = [] for i in range(rows): row = [] for j in range(columns): row.append(columns * i + j + 1) box.append(row) for querie in queries: 행1, 열1, 행2, 열2 = querie 행1 -= 1; 열1 -= 1; 행2 -= 1; 열2 -= 1 tmp = box[행1][열1] small = tmp # left for i in ra..
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges 어려워서 구글링하여 참고하였고 제출은 안 함..! from collections import deque LENGTH = 5 def bfs(p): start = [] # 시작점이 되는 P 좌표 구하기 for i in range(LENGTH): for j in range(LENGTH): # 응시자가 앉아있는 자리 P가 시작점 if p[i][j] == 'P': start.append([i, j]) for s in start: queue = deque([s]) # 큐에 초기값 visited = [[0]*LENGTH for i in range(LENGTH)] # 방문 처리 리스트 distance =..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/btkLjX/btrBT45VRtd/Dojs2t1DFqKED8KxXKP2MK/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Python def solution(priorities, location): answer = 0 queue = [(i, priority) for i, priority in enumerate(priorities)] while True: now = queue.pop(0) if any(now[1] ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bNONKW/btrAJSzLmum/2KkcbF0feo95B7xfsnK5VK/img.png)
** Python import re import operator def solution(s): _dict = dict() numbers = list(map(int, re.sub('[{,}]', ' ', s).split())) for number in numbers: try: _dict[number] += 1 except KeyError: _dict[number] = 1 _sorted = sorted(_dict.items(), key = lambda x: x[1], reverse = True) return [x[0] for x in _sorted] 추천 1등 풀이 def solution(s): s = Counter(re.findall('\d+', s)) return list(map(int, [k for k..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dVJ3FA/btrz34uH4sP/bUL3LdbvR6R6pvZ9kfXUtk/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges (예전에 java로 풀었다. 근데 기억 안 남;;) ** Java import java.util.Arrays; class Solution { public boolean solution(String[] phone_book) { Arrays.sort(phone_book); for (int i=0; i
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/qJJSi/btrz53BbQqJ/ypeSylVFOtmv2ppeIiMy10/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** 시도중 from collections import deque def solution(n, results): win_graph = [ [] for i in range(n + 1) ] lose_graph = [ [] for i in range(n + 1) ] wn_c = [ 0 for i in range(n + 1) ] for result in results: win_graph[result[0]].append(result[1]) lose_graph[result[1]].append(result[0]) queue = deque() queue.append(results[0][0]) answer..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/b7Csea/btrz0t87a9c/RGhsIpkW46DmHNgK0TZAcK/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges from collections import deque def solution(n, edge): graph = [[] for i in range(n + 1)] node_count = [0 for i in range(n + 1)] for i, e in enumerate(edge): graph[e[0]].append(e[1]) graph[e[1]].append(e[0]) node_count[1] = 1 queue = deque() queue.append(1) while queue: now = queue.popleft() for g in graph[now]: if node_count[g] == 0..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/Z25uq/btrz3QWRx1E/rVdF6NrZpbLlWI2RH0f6d0/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges def solution(n): answer = [[ 0 for j in range(i, 2 * i)] for i in range(1, n + 1)] 행, 열 = -1, 0 num = 1 for i in range(n): for j in range(i, n): if i % 3 == 0: 행 += 1 elif i % 3 == 1: 열 += 1 else: 행 -= 1 열 -= 1 answer[행][열] = num num += 1 print(f'i: {i}, j: {j}, row: {행}, col: {열}, num: {num}') print(answer) return sum(answer, []) ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cEJE5L/btrzYhmIugq/V9NVKNHcsdiBYY6Xknm660/img.png)
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges def solution(clothes): categories = dict() spi_woredrobe = dict() answer = 1 for c in clothes: if not c[1] in spi_woredrobe: spi_woredrobe[c[1]] = set() categories[c[1]] = 0 if not c[0] in spi_woredrobe[c[1]]: spi_woredrobe[c[1]].add(c[0]) categories[c[1]] += 1 for val in categories.values(): answer *= (val + 1) return answer - 1