본문 바로가기

전체 글

(55)
[IntelliJ] MacOS 업데이트 후 git 오류 개발을 다 진행하고 나서 git commit을 하려고 봤는데 엥? 왜 변경 내역이 비어 있지? 하고 봤더니 아래와 같은 오류 창이 떠 있었다. ​ Cannot Run Git Invalid path to Command Line Tools Fix Path ​ 라는 오류 메세지인데 구글링 해보니 MacOS 업데이트 시 발생할 수 있는 Git 오류라고 한다. 나는 몇일 전 MacOS Monetary 를 업데이트 했는데 아마 그것 때문인 것 같다. ​ 참고 : https://www.manty.co.kr/bbs/detail/develop?id=33 그래서 위 블로그를 참고하여 오류를 잡아보기로 했다. ​ 우선 오류창에 떠 있는 "Fix Path" 이 부분을 클릭해 주면 다음과 같은 창이 뜨는데, 바로 설치 해주면 ..
WLS에 Redis 설치 1. redis-server 설치 > sudo apt-get update > sudo apt-get upgrade > sudo apt-get install redis-server > redis-cli -v 2. restart Redis server (정상 작동 확인용) > sudo service redis-server restart 3. 간단한 Redis command 실행 $ redis-cli xxx.xxx.xxx.xxx:xxxxx> set user:1 "Jane" xxx.xxx.xxx.xxx:xxxxx> get user:1 "Jane" 4. Redis server 정지 > sudo service redis-server stop 원문 medium.com/@RedisLabs/windows-subsyste..
5-4) 미로탈출 BFS 이용 혼자 못풀었음 import sys from collections import deque sys.stdin = open("./input/5-11)input.txt", "r") T = int(input()) n,m = map(int, input().split()) graph = [] for i in range(n): graph.append(list(map(int,input()))) dx = [-1,1,0,0] dy = [0,0,-1,1] def bfs(x,y): queue = deque() queue.append((x,y)) # 큐 빌때까지 while queue: x,y = queue.popleft() # 네 방향으로 위치 확인 for i in range(4): nx = x+dx[i] ny = ..
5-3) 음료수 얼려 먹기 DFS 이용 혼자 못풀었음 import sys sys.stdin = open("./input/5-10)input.txt", "r") T = int(input()) n,m = map(int, input().split()) graph = [] for i in range(n): graph.append(list(map(int,input()))) cnt = 0 def dfs(x,y): # out of range if x=n or y=m: return False if graph[x][y] == 0: graph[x][y] = 1 dfs(x - 1, y) dfs(x + 1, y) dfs(x, y - 1) dfs(x, y + 1) return True else: return False for i in range(n): ..
5-2) 탐색 알고리즘 DFS / BFS DFS (Depth-First Search) 깊이 우선 탐색 스택 or 재귀함수 이용 깊은 노드 우선 탐색 동작과정 ① 탐색 시작 node - 스택에 삽입, 방문 처리 ② 스택 최상단 node - 미방문 인접 node O, 스택에 넣고 방문 처리. 미방문 인접 node X, 스택에서 최상단 node pop ③ 위 과정 반복 def dfs(graph, v, visited): # 현재 노드 방문처리 visited[v] = True print(v, end=' ') # 인접 노드 재귀적 방문 for i in graph[v]: if not visited[i]: dfs(graph, i, visited) # 각 노드 연결된 정보 (2차원 리스트) graph = [ [], [2,3,8], [1,7], [1,4,5], ..
DFS DFS (Depth-First Search) 깊이 우선 탐색 인접 행렬 (Adjacency Matrix) : 2차원 배열로 그래프 연결 관계 표현 인접 리스트 (Adjacency List) : 리스트로 그래프의 연결 관계 표현 # 인접 행렬 INF = 999999999 graph = [ [0, 7, 5], [7, 0, INF], [5, INF, 0] ] # 인접 리스트 graph = [[] for _ in range(3)] # node 0 graph[0].append((1,7)) graph[0].append((2,5)) # node 1 graph[1].append((0,7)) # node 2 graph[2].append((0,5))
5-1) Stack, Queue , 팩토리얼 구현 Stack stack = [] stack.append(5) stack.append(2) stack.append(3) stack.append(7) stack.pop() stack.append(1) stack.append(4) stack.pop() print(stack)# 최하단 원소부터 print(stack[::-1])# 최상단 원소부터 Queue from collections import deque queue = deque() queue.append(5) queue.append(2) queue.append(3) queue.append(7) queue.popleft() queue.append(1) queue.append(4) aueue.popleft() print(queue)# 먼저 들어온 순서대로 que..
4-3) 게임 개발 n,m = map(int, input().split()) x,y,d = map(int, input().split()) dx = [-1,0,1,0] dy = [0,1,0,-1] nx,ny = 0,0 cord = [[int(y) for y in input().split()]for x in range(n)] #print(cord) cnt = 1 cord[x][y] = -1 while 1: for _ in range(4): d = (d-1) % 4 nx = x+dx[d] ny = y+dy[d] if(cord[nx][ny] == 0): cord[nx][ny] = -1 x = nx y = ny #print(x,y) cnt += 1 break if (x==nx and y==ny): continue # 4방향 모두 이..