일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 이코테
- 코딩테스트합격자되기
- sw expert academy
- 매일메일
- maeil-mail
- SW
- 자바
- createSlice
- java
- redux
- Python
- C++
- 항해플러스
- programmers
- useDispatch
- redux-saga
- react-router
- json-server
- react
- 리액트
- 테코테코
- 프로그래머스
- react-redux
- Get
- Algorithm
- redux-toolkit
- 항해99
- axios
- JavaScript
- 알고리즘
- Today
- Total
목록Python (143)
Binary Journey
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges def solution(triangle): answer = triangle[0][0] if len(triangle) == 1: return answer d = [[0] * (i + 1) for i in range(len(triangle))] d[0][0] = triangle[0][0] for i in range(1, len(triangle)): for j in range(len(triangle[i])): if j == 0: # 삼각형 i열 0번째 d[i][j] = d[i-1][j] + triangle[i][j]; elif j == i: # 삼각형 i열 마지막 d[i][j] = d[i-1][..
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges def solution(name): answer = 0 length = len(name) index = 0 move = length - 1 for i, n in enumerate(name): answer += min(ord(n) - ord('A'), ord('Z') - ord(n) + 1); index = i + 1 while index < length and ord(name[index]) == ord('A'): index += 1 move = min(move, i * 2 + length - index) move = min(move, (length - index) * 2 + i) retur..
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Python 하는 중...! 교점까지는 접근해봤음..! def solution(line): visited = [] crossed = set() answer = [] for i, l1 in enumerate(line): for j, l2 in enumerate(line): if (i, j) in visited or (j, i) in visited: continue a, b, e = l1 c, d, f = l2 if a*d - b*c != 0: x = round((b*f - e*d)/(a*d - b*c), 2) y = round((e*c - a*f)/(a*d - b*c), 2) if x...
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Python from collections import deque CACHE_HIT = 1 CACHE_MISS = 5 def solution(cacheSize, cities): if cacheSize == 0: return len(cities) * CACHE_MISS answer = 0 q = deque() for city in cities: _city = city.lower() if _city in q: answer += CACHE_HIT index = q.index(_city) del q[index] q.appendleft(_city) else: if len(q) == cacheS..
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Javascript 예전에 미리 풀었어서 몇 점 받았는지 기억이 안 남 function solution(s) { let count = 0; let zeros = 0; while (s !== "1") { zeros += (s.match(/0/g) || []).length; s = s.replace(/0/g, "").length.toString(2); count++; } return [count, zeros]; } ** Python def solution(s): c = 1 answer = [0, 0] while s != "1": zeros = [x for x in s if x == "0"..
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges 그냥 풀었는데 풀리길래 넘나 벙쪘 def solution(n): ans = 0 while n > 0: if n % 2: ans += 1 n -= 1 else: n //= 2 return ans 훨씬 간단한 추천 풀이 def solution(n): answer = 1 while n > 1: answer += n % 2 n = n // 2 return answer 1등 풀이 def solution(n): return bin(n).count('1') 결국 2로 안 나뉠 때만 더하면 되니까..
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Javascript function solution(numbers, target) { let answer = 0; function dfs(nodeList, index) { if (index acc + node, 0); if (sum === target) answer++; } } dfs(nu..
* 선택정렬 - 처리되지 않은 데이터 중에서 가장 작은 데이터를 선택해 맨 앞에 있는 데이터와 바꾼다 * n result = [] def selection_sort1(data): if len(data) > 1: n = data[0] m = data[1:] temp = min(m) index = 0 if n > min(m): index = m.index(temp) m[index] = n result.append(temp) else: result.append(n) return selection_sort1(m) else: result.append(data[0]) def selection_sort2(array): for i in range(len(array)): min_index = i for j in rang..
* DFS def dfs(graph, v, visited): visited[v] = True print(v) for i in graph[v]: if not visited[i]: dfs(graph, i, visited) graph = [ [], [2, 3, 8], [1, 7], [1, 4, 5], [3, 5], [3, 4], [7], [2, 6, 8], [1, 7] ] visited = [ False for i in range(9) ] dfs(graph, 1, visited) * BFS from collections import deque def bfs(graph, start, visited): queue = deque([start]) visited[start] = True while queue: v = ..
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Python def get_uv(p): a = 0 for i, e in enumerate(p): if e == "(": a += 1 else: a -= 1 if a == 0: return p[:i+1], p[i+1:] def is_u_right(u): stack = [] for p in u: if p == '(': stack.append(p) else: if not stack: return False stack.pop() return True def solution(p): if p == "": return p u, v = get_uv(p) if is_u_right(u): return ..