일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- java 기술면접
- java
- 백준 19238
- 파이썬
- Spring Boot
- spring cloud
- sql 기술면접
- 프로래머스
- 백준 17779
- 백준 16719
- 백준
- re.split
- MySQL
- 백준 15685
- 백준 16235
- JPA
- 웹어플리케이션 서버
- Kotlin
- springboot
- with recursive
- Coroutine
- spring security
- Spring
- 백준 17626
- MSA
- spring oauth
- JVM
- 백준 파이썬
- 백준 16236
- 프로그래머스
- Today
- Total
목록프로그래머스 (76)
시작이 반
갈수 있는 여행 경로를 정하는 문제 dfs로 풀었지만 테스트케이스 1번만 통과가 안된다... 무슨 문젠지 모르겠다.. (질문에 있는 모든 케이스 통과) 1번을 통과하기위해서는 같은 티켓이 여러장 있다고 가정하고 풀면된다고 하는데 고려해서 풀었음에도 통과가 안된다.. (ㅠㅠ 못풀었음) def solution(tickets): answer = [] place = list() i = 0 for ticket in tickets: if ticket[0] == 'ICN': ticket.append(i) place.append(ticket) i += 1 place.sort(key=lambda x: x[1]) for j in place: visited = [False] * len(tickets) visited[j[2]..
result = list() def solution(begin, target, words): global result answer = 0 if target not in words: return 0 elif target == begin: return 0 visited = [False] * len(words) dfs(begin, target, words, visited, answer) return min(result) def dfs(begin, target, words, visited, answer): global result if begin == target: return result.append(answer) change = list() for word in words: #바꿀수 있는 단어 찾기 coun..
dfs, bfs를 사용하여 풀수있다. dfs로 문제를 해결하였다. dfs가 끝난이후 해당 node를 방문했는지 확인하고 그룹수를 증가시킨다. visited = list() def solution(n, computers): global visited visited = [False] * n answer = 0 for i in range(n): if not visited[i]: dfs(n, computers, i) answer += 1 return answer def dfs(n, computers, start): global visited, count visited[start] = True for i in range(n): if computers[start][i] == 1 and not visited[i]: ..
재귀 문제이다. dfs로 문제를 풀었다. 한 숫자에 대해서 양수 or 음수를 더할수 있다. 마지막 depth에 도달했을때 target과 같으면 count 를 증가시킨다. count = 0 def solution(numbers, target): dfs(numbers, target, 0, 0) return count def dfs(numbers, target, depth, result): global count if depth == len(numbers): if result == target: count += 1 return left = result - numbers[depth] right = result + numbers[depth] dfs(numbers, target, depth+1, left) dfs(..