코딩 테스트
프로그래머스, 백준 등 온라인 코딩 플랫폼을 활용해 프로그래밍하고, 알고리즘과 자료구조를 학습하는 내용을 담습니다.
-
문제 보기 : 1149번: RGB거리 문제정답률 : 56%작성 코드 & 풀이 과정 코멘트## DPT = int(input())cost = [list(map(int,input().split())) for _ in range(T)]# cost = [[26,40,83],[49,60,57],[13,89,99]]color = [[0]*3 for _ in range(T)]color[0] = cost[0]# color = [[26,40,83],[0,0,0],[0,0,0]]for i in range(1,T): color[i][0] = cost[i][0]+ min(color[i-1][1],color[i-1][2]) #[49+40, 0, 0] / color[i][1] = cost[i][1]+ min(colo..
S1 1149. RGB거리문제 보기 : 1149번: RGB거리 문제정답률 : 56%작성 코드 & 풀이 과정 코멘트## DPT = int(input())cost = [list(map(int,input().split())) for _ in range(T)]# cost = [[26,40,83],[49,60,57],[13,89,99]]color = [[0]*3 for _ in range(T)]color[0] = cost[0]# color = [[26,40,83],[0,0,0],[0,0,0]]for i in range(1,T): color[i][0] = cost[i][0]+ min(color[i-1][1],color[i-1][2]) #[49+40, 0, 0] / color[i][1] = cost[i][1]+ min(colo..
2024.10.19 -
문제 보기 : 1931번: 회의실 배정 (acmicpc.net) 문제정답률 : 30%작성 코드 & 풀이 과정 코멘트## 그리디 알고리즘T = int(input())graph = [list(map(int,input().split())) for _ in range(T)]p = max(max(graph))graph.sort(key=lambda x:(x[1],x[0])) #끝나는 시간 순으로 정렬now = 0count = 0for start, end in graph: if start >= now : now = end #그 회의 끝난 시간 count += 1print(count) 처음에는 DFS로 풀이했다.. {1: [4], 3: [5, 8], 0: [6], 5: [7, 9], 6..
S1 1931. 회의실 배정문제 보기 : 1931번: 회의실 배정 (acmicpc.net) 문제정답률 : 30%작성 코드 & 풀이 과정 코멘트## 그리디 알고리즘T = int(input())graph = [list(map(int,input().split())) for _ in range(T)]p = max(max(graph))graph.sort(key=lambda x:(x[1],x[0])) #끝나는 시간 순으로 정렬now = 0count = 0for start, end in graph: if start >= now : now = end #그 회의 끝난 시간 count += 1print(count) 처음에는 DFS로 풀이했다.. {1: [4], 3: [5, 8], 0: [6], 5: [7, 9], 6..
2024.10.18 -
문제 보기 : 2667번: 단지번호붙이기 (acmicpc.net) 문제정답률 : 42%작성 코드 & 풀이 과정 코멘트from collections import dequedef solution(graph,start): graph[start[0]][start[1]]= 0 direction = [(-1,0),(1,0),(0,-1),(0,1)] count = 1 dd = deque([start]) while dd: x,y = dd.popleft() for dx,dy in direction: xx = dx+x ; yy = dy+y if 0graph에서 1인 지점 좌표를 (i,j)로 두는데 이걸 start로 하는데, 이를..
S1 2667. 단지번호붙이기문제 보기 : 2667번: 단지번호붙이기 (acmicpc.net) 문제정답률 : 42%작성 코드 & 풀이 과정 코멘트from collections import dequedef solution(graph,start): graph[start[0]][start[1]]= 0 direction = [(-1,0),(1,0),(0,-1),(0,1)] count = 1 dd = deque([start]) while dd: x,y = dd.popleft() for dx,dy in direction: xx = dx+x ; yy = dy+y if 0graph에서 1인 지점 좌표를 (i,j)로 두는데 이걸 start로 하는데, 이를..
2024.10.18 -
문제 보기 : 2751번: 수 정렬하기 2 (acmicpc.net) 문제정답률 : 31%작성 코드 & 풀이 과정 코멘트1) 시간초과 났던 코드들import heapqT = int(input())def sol(T): a = [] for _ in range(T): heapq.heappush(a,int(input())) for _ in range(T): min_a = heapq.heappop(a) print(min_a)처음에는 heapq로 차례대로 최소값을 출력하는 방식으로 풀이했다. 근데 시간초과 발생.. 흐규T = int(input())a = [int(input()) for i in range(T)]def qsort(arr): if len(arr..
S5 2751. 수 정렬하기 2문제 보기 : 2751번: 수 정렬하기 2 (acmicpc.net) 문제정답률 : 31%작성 코드 & 풀이 과정 코멘트1) 시간초과 났던 코드들import heapqT = int(input())def sol(T): a = [] for _ in range(T): heapq.heappush(a,int(input())) for _ in range(T): min_a = heapq.heappop(a) print(min_a)처음에는 heapq로 차례대로 최소값을 출력하는 방식으로 풀이했다. 근데 시간초과 발생.. 흐규T = int(input())a = [int(input()) for i in range(T)]def qsort(arr): if len(arr..
2024.10.16 -
문제 보기 : 1316번: 그룹 단어 체커 (acmicpc.net) 문제정답률 : 53%작성 코드from collections import dequeT = int(input())def sol(T): answer = 0 for _ in range(T): p = deque(input()) #['h', 'a', 'p', 'p', 'y'] pp = len(p) already = deque() already_element = None while p : element = p.popleft() if already_element == element and element not in already: ..
S5 1316. 그룹 단어 체커문제 보기 : 1316번: 그룹 단어 체커 (acmicpc.net) 문제정답률 : 53%작성 코드from collections import dequeT = int(input())def sol(T): answer = 0 for _ in range(T): p = deque(input()) #['h', 'a', 'p', 'p', 'y'] pp = len(p) already = deque() already_element = None while p : element = p.popleft() if already_element == element and element not in already: ..
2024.10.16 -
문제 보기 : 게임 맵 최단거리 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제정답률 : 61%작성 코드from collections import deque def bfs(g,start,n,m): vis = [[False]*m for i in range(n)] vis[start[0]][start[1]] = True d = [[-1,0],[1,0],[0,-1],[0,1]] dd = deque([start]) while dd: x,y = dd.popleft() if x == n-1 a..
Lv2. 게임 맵 최단거리문제 보기 : 게임 맵 최단거리 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제정답률 : 61%작성 코드from collections import deque def bfs(g,start,n,m): vis = [[False]*m for i in range(n)] vis[start[0]][start[1]] = True d = [[-1,0],[1,0],[0,-1],[0,1]] dd = deque([start]) while dd: x,y = dd.popleft() if x == n-1 a..
2024.10.10 -
문제 보기 : 2178번: 미로 탐색 (acmicpc.net) 문제정답률 : 44%작성 코드 & 풀이 과정 코멘트1) 1차 풀이from collections import dequedef bfs(g,start,n,m): d = [(0,-1),(0,1),(-1,0),(1,0)] vis = [[False]*m for i in range(n)] vis[start[0]][start[1]]=True dd = deque([start]) while dd: x,y = dd.popleft() if x == n-1 and y == m-1: return g[x][y] for dx,dy in d: X = dx+x ; Y =..
S1 2178. 미로 탐색문제 보기 : 2178번: 미로 탐색 (acmicpc.net) 문제정답률 : 44%작성 코드 & 풀이 과정 코멘트1) 1차 풀이from collections import dequedef bfs(g,start,n,m): d = [(0,-1),(0,1),(-1,0),(1,0)] vis = [[False]*m for i in range(n)] vis[start[0]][start[1]]=True dd = deque([start]) while dd: x,y = dd.popleft() if x == n-1 and y == m-1: return g[x][y] for dx,dy in d: X = dx+x ; Y =..
2024.10.09 -
문제 보기 : 1260번: DFS와 BFS (acmicpc.net)문제정답률 : 38%작성 코드n,m,v = map(int,input().split())def dfs(graph,start,visited): visited[start] =True print(start, end = ' ') for n in sorted(graph[start]): if not visited[n]: dfs(graph,n,visited)from collections import dequedef bfs(graph,start,visited): visited[start] = True dd = deque([start]) while dd: node = dd.popl..
S2 1260. DFS와 BFS문제 보기 : 1260번: DFS와 BFS (acmicpc.net)문제정답률 : 38%작성 코드n,m,v = map(int,input().split())def dfs(graph,start,visited): visited[start] =True print(start, end = ' ') for n in sorted(graph[start]): if not visited[n]: dfs(graph,n,visited)from collections import dequedef bfs(graph,start,visited): visited[start] = True dd = deque([start]) while dd: node = dd.popl..
2024.10.09