목록 code review/study (31)
KEEP GOING
[최단경로] (하) https://www.acmicpc.net/problem/1753 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 www.acmicpc.net 1. 구현 import heapq def dijkstra(start): queue = [] distance[start] = 0 heapq.heappush(queue, (0, start)) while queue: cost, now = heapq.heappop(queue) # 저장된 비용이 현재 비용보다 적다면 무시 if cost > dista..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bCPbF1/btruh56LVwZ/JuRHjrhkLiOtzliilfZty0/img.png)
1. 여행경로 (중상) https://programmers.co.kr/learn/courses/30/lessons/43164 코딩테스트 연습 - 여행경로 [["ICN", "SFO"], ["ICN", "ATL"], ["SFO", "ATL"], ["ATL", "ICN"], ["ATL","SFO"]] ["ICN", "ATL", "ICN", "SFO", "ATL", "SFO"] programmers.co.kr [dfs를 이용한 풀이] from collections import defaultdict def dfs(start): global routes stack = [start] path = [] while stack: top = stack[-1] if not routes[top]: path.append(stac..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Avfxd/btrtU9Ol74f/WHJoTWr71z6af9L6qFz210/img.png)
[소수&팰린드롬] https://www.acmicpc.net/problem/1747 1. 코드 구현 (하) from math import sqrt import sys input = sys.stdin.readline def isPrime(num): if num == 1: return False for i in range(2, int(sqrt(num))+1): if num % i == 0: return False return True def isPalindrome(num): data = str(num) k = len(data) for i in range(k//2): if data[i] != data[k-1-i]: return False return True n = int(input()) while True:..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/burJGY/btrtzazY6Ie/I6mkDvNmWpjpInP6VtVn21/img.png)
https://www.acmicpc.net/problem/2468 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net [안전 영역] (중) from collections import deque n = int(input()) board = [] min_val, max_val = 100, 1 dx = [1, 0, -1, 0] dy = [0, 1, 0, -1] def bfs(depth, i, j): # 0으로 방문처리 tmp[i][j] = 0 q = deque([(i, j)]) while q: x, y = q.popleft(..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bGdhhU/btrs8A0ObQm/6yhn3KAabjSdeS55Py9evk/img.png)
[영역 구하기] https://www.acmicpc.net/problem/2583 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net 1. 코드구현 (중) - DFS import sys sys.setrecursionlimit(10**4) m, n, k = map(int, input().split()) board = [[0]*n for _ in range(m)] dx = [1,0,-1,0] dy = [0,1,0,-1] def dfs(y, x, arr): global areaCnt arr[y][x..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/o1pto/btrsSaHr8B2/FZNPs5rh4LQbG8dil5Fn60/img.png)
[자기방으로 돌아가기] https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWNcJ2sapZMDFAV8&categoryId=AWNcJ2sapZMDFAV8&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 틀린 풀이 for tc in range(1, int(input()) + 1): time = 1 n = int(input()) # 방번호 담을 배열 route = [] for _ in range(n): a, b = map(int, input().split()) # 출발번호 > 도착번호인 경우..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ej9XcX/btrsDaBkULM/I7Ka15gJT43eHg0GFXRZq0/img.png)
https://leetcode.com/problems/longest-substring-without-repeating-characters/ Longest Substring Without Repeating Characters - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 1. 구현하였으나 성공하지 못한 코드 class Solution: def lengthOfLongestSubstring(self, s: str) -> int: n = len(s) maxLen =..