본문 바로가기

Python262

[백준 2206번] 벽 부수고 이동하기 from collections import deque n, m = map(int,input().split()) maze = [list(map(int,list(input()))) for _ in range(n)] visited = [[[0]*m for _ in range(n)] for _ in range(2)] dx = [-1,1,0,0] dy = [0,0,-1,1] def bfs(): visited[0][0][0] = 1 queue = deque([(0,0,0)]) while queue: w,x,y = queue.popleft() if x == n-1 and y == m-1: return visited[w][x][y] for i in range(4): nx = x + dx[i] ny = y + dy[i].. 2023. 8. 4.
[백준 14923번] 미로 탈출 from collections import deque dx = [-1,1,0,0] dy = [0,0,-1,1] n, m = map(int,input().split()) hx, hy = map(int,input().split()) ex, ey = map(int,input().split()) maze = [list(map(int,input().split())) for _ in range(n)] visited = [[[0]*m for _ in range(n)] for _ in range(2)] def bfs(): visited[0][hx-1][hy-1] = 0 queue = deque([(0,hx-1,hy-1)]) while queue: v = queue.popleft() w, x, y = v[0], v[1].. 2023. 8. 4.
[프로그래머스 Lv.3] 네트워크 def solution(n, computers): answer = 0 graph = [[] for i in range(n)] visited = [False]*n for i,row in enumerate(computers): for j,value in enumerate(row): if i != j and value == 1: graph[j].append(i) def dfs(n): if visited[n]: return False visited[n] = True for i in graph[n]: if not visited[i]: dfs(i) return True for i in range(n): if dfs(i): answer += 1 return answer 이번 문제는 컴퓨터의 개수 n과 연결에 대한 정.. 2023. 7. 31.
[프로그래머스 Lv.3] 여행경로 def solution(tickets): answer = [] graph = {} for i in range(len(tickets)): if tickets[i][0] not in graph: graph[tickets[i][0]] = [tickets[i][1]] else: graph[tickets[i][0]].append(tickets[i][1]) graph[tickets[i][0]].sort(reverse=True) print(graph) stack = ["ICN"] while stack: top = stack[-1] if top not in graph or not graph[top]: print("stack pop : ",stack[-1]) answer.append(stack.pop()) else: p.. 2023. 7. 30.
[Python] replace() / strip(), lstrip(), rstrip() 함수 정리 .replace() replace()는 문자열을 변경하는 함수이다. 문자열 안에서 특정 문자를 새로운 문자로 변경하는 기능을 가지고 있다. 사용 방법은 '변수. replace(old, new, [count])' 형식으로 사용한다. - old : 현재 문자열에서 변경하고 싶은 문자 - new: 새로 바꿀 문자 - count: 변경할 횟수. 횟수는 입력하지 않으면 old의 문자열 전체를 변경한다. 기본값은 전체를 의미하는 count=-1로 지정되어있다. .strip(), .lstrip(), rstrip() strip()을 이용하면 문자열에서 특정 문자를 제거할 수 있다. Python의 String은 다음 함수를 제공한다. - strip([chars]) : 인자로 전달된 문자를 String의 왼쪽과 오른쪽에서.. 2023. 7. 22.
[프로그래머스] 문자열 나누기 def solution(s): answer = [] string = s while(string != ''): x = string[0] list_str = list(string) count_x = 0 count_not_x = 0 index = 0 for i,value in enumerate(list_str): if value == x: count_x += 1 else: count_not_x += 1 if count_x != 0 and count_x == count_not_x: index = i break index = i answer.append(list_str[:index+1]) string = ''.join(list_str[index+1:]) return len(answer) 이번 문제는 주어진 조건대.. 2023. 7. 21.