전체 글
![[Linux] Terminal에서 SSH를 통하여 VirtualBox 가상머신에 접속하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FYpOnw%2FbtrpzKUfxrQ%2FAAAAAAAAAAAAAAAAAAAAAAgOJxydOJp8YSBgHkjCbNxxpnx7JpU0rGOR0TVQes5M%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1759244399%26allow_ip%3D%26allow_referer%3D%26signature%3D7BVCRZ5uEupL4r77jE1cyg0ro0Y%253D)
[Linux] Terminal에서 SSH를 통하여 VirtualBox 가상머신에 접속하기
1. VM선택 -> 설정 -> 네트워크 -> 다음에 연결됨 : NAT -> 고급 -> 포트포워딩 - VM에 접속하여 현재 가상 머신의 IP 주소를 확인한다. - Virtualbox 를 실행한 후에 위의 루트대로 진입하게 되면 다음과 같은 화면을 볼 수 있다. [root@localhost ~]# ifconfig enp0s3: flags=4163 mtu 1500 inet 10.0.2.15 netmask 255.255.255.0 broadcast 10.0.2.255 중략... lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 중략... 2. 호스트 와 게스트 IP 및 포트를 설정한다. - 이후 terminal 에 접속한 후 SSH 명령어를 이용하여 VM에 접속..
![[카카오,PS,UNION-FIND][PYTHON] #호텔방배정](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FHRJwf%2FbtqGiKPLbW3%2FAAAAAAAAAAAAAAAAAAAAAJtwFXnEBXFI_sdgtvlIiU03CpoUBkcb3ApazS_qwr6b%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1759244399%26allow_ip%3D%26allow_referer%3D%26signature%3Dq0HsleRi8dLu6i2GPg1Yiv%252F32vg%253D)
[카카오,PS,UNION-FIND][PYTHON] #호텔방배정
시간초과후 풀이참조 import sys sys.setrecursionlimit(10000000) def findroom(demand, demandedroom): if demand not in demandedroom: demandedroom[demand] = demand +1 return demand else: #return findroom(demandedroom[demand],demandedroom)이코드를 사용했을때 정확성은 맞고 효율성 틀림 temp = findroom(demandedroom[demand],demandedroom) demandedroom[demand] = temp +1 return temp def solution(k, room_number): answer = [] demandedroo..
![[백준,PS,BFS][PYTHON] #2667 . 단지번호붙이기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2F7Fyzy%2FbtqEVXplHdM%2FAAAAAAAAAAAAAAAAAAAAADVxcvWxEYte67_jRI7iij03gTs7DhxXC3dLdYoIUN4Q%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1759244399%26allow_ip%3D%26allow_referer%3D%26signature%3DGl2LiG23uHw6qNu3yJHGBFVaLOw%253D)
[백준,PS,BFS][PYTHON] #2667 . 단지번호붙이기
from collections import deque def bfs(n,maps): global count global apt count +=1 apt =1 dx = [0,0,-1,1] dy = [1,-1,0,0] while q:#q가 있는동안 계속도는데 for _ in range(len(q)): #q안에 있는 수만큼 반복 x,y = q.popleft()#큐에서 한개를 뺀다. maps[x][y] = count visited[x][y] =1 for i in range(4): nx = x+ dx[i] ny = y+ dy[i] if 0
![[백준,PS,BFS][PYTHON] #2468 . 안전영역](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FcTFqop%2FbtqEUpAklX5%2FAAAAAAAAAAAAAAAAAAAAAOF1B_sw6ohwz_zNzF56-LrsXHMoKGJj3lTBdSW32GWM%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1759244399%26allow_ip%3D%26allow_referer%3D%26signature%3DkQfjzKynhcaG3c98ONMTQ6b00po%253D)
[백준,PS,BFS][PYTHON] #2468 . 안전영역
from collections import deque ####BFS부분######## def bfs(n,height): global num num +=1 while q: dx = [0,0,1,-1] dy = [1,-1,0,0] x,y = q.popleft() count[x][y] = num for i in range(4): nx = x + dx[i] ny = y + dy[i] if 0
![[백준,PS,BFS][PYTHON] #1697 . 숨바꼭질](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FIP7zY%2FbtqETJSDA0I%2FAAAAAAAAAAAAAAAAAAAAAP-07jzno5Ct-Taib6XamPUSlX-rzUelWOFAT1qrH7BO%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1759244399%26allow_ip%3D%26allow_referer%3D%26signature%3D4EwlmkqwEa8FeMuNtZBD9FFbtfk%253D)
[백준,PS,BFS][PYTHON] #1697 . 숨바꼭질
from collections import deque def bfs(n): global count while q: x,count = q.popleft() if x ==m : return -1 #count의 위치가 중요하다. count = count +1 #그래프 BFS 탐색시에 깊이마다 level을 구할수있게 해주는 방법은 if 0
![[백준,PS,BFS][PYTHON] #2644 . 촌수계산](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FcjFE30%2FbtqESGoQ5l6%2FAAAAAAAAAAAAAAAAAAAAAKMbrL8clwFF7uicU25CPfyy0pFjh4uUSLtBO1onhfou%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1759244399%26allow_ip%3D%26allow_referer%3D%26signature%3D0nWwvy5tX0i%252BgHGfKJg2fjJctlI%253D)
[백준,PS,BFS][PYTHON] #2644 . 촌수계산
from collections import deque def bfs(x): global count q.append(start) visited[start] =1 count[start] = 1 while q: x = q.popleft() for i in range(len(graph[x])): nx = graph[x][i] if visited[nx] != 1: visited[nx] = 1 q.append(nx) count[nx] = count[x] +1 #key _point 부분 ################main############# vertex = int(input()) start,end = map(int,input().split()) edge =int(input()) graph =[ [] for _ ..
![[백준,PS,BFS][PYTHON] #1012 . 유기농배추](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FmaH5i%2FbtqEQ7NEnoC%2FAAAAAAAAAAAAAAAAAAAAAMfzFRTiq3ncRNStDBps4OWZ27_vmW3Lzwa793ZiDVG4%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1759244399%26allow_ip%3D%26allow_referer%3D%26signature%3DiIRzVRHvBxsyu%252BmRb5%252BZZLUsGc8%253D)
[백준,PS,BFS][PYTHON] #1012 . 유기농배추
from collections import deque def bfs(a,b,m,n): dx = [0,0,1,-1] dy = [1,-1,0,0] global count count = count +1 #bfs를 할때마다 map에서 순서를 구분해주기 위해서 maps[a][b] = count while q: for _ in range(len(q)): x,y = q.popleft() for i in range(4): nx = x + dx[i] ny = y + dy[i] if 0
![[백준,PS,BFS][PYTHON] #2178 . 미로탐색](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FLztKb%2FbtqEPt4m4JH%2FAAAAAAAAAAAAAAAAAAAAAP4n22v2zZJ74PdL11CwGCVpaqrnncFhv5biIgtGWIxN%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1759244399%26allow_ip%3D%26allow_referer%3D%26signature%3DuZKTHqkKWaNY03E2aHPr1u%252BQPBY%253D)
[백준,PS,BFS][PYTHON] #2178 . 미로탐색
from collections import deque def bfs(n,m,maps): dx = [1,-1,0,0] #이동하기위한 x 좌표 후보 dy = [0,0,1,-1] #이동하기위한 y 좌표 후보 while q: # 큐안에 원소가 계속 존재하는 동안 for _ in range(len(q)):#큐의 개수만큼도는데 x,y = q.popleft()#큐에서 한개를 뽑아서 for i in range(4): # 동서남북후보군을 정해준다. nx = x + dx[i] ny = y + dy[i] if 0
![[백준,PS,그래프탐색][PYTHON] #1707. 이분그래프](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbZBkNb%2FbtqEJCUjtNG%2FAAAAAAAAAAAAAAAAAAAAAPF0PaJDK0QjdYd0_3Qsf3TcKfKsLPFK1EoAf5dSC98H%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1759244399%26allow_ip%3D%26allow_referer%3D%26signature%3Dq8av5R2bYti%252BbIfSp5yNr6jRvww%253D)
[백준,PS,그래프탐색][PYTHON] #1707. 이분그래프
from collections import deque def bfs(x): global stop q.append(x) #초기작업 : 큐에넣고 visited[x] = 1#방문표시하고 level[x] = 1 #레벨1이라고 명시 while q: x = q.popleft() for i in range(len(a[x])): nx = a[x][i] if (visited[nx] ==0):#방문안한곳이라면 visited[nx] = 1 #방문하고 level[nx] = level[x] +1#레벨을 1증가시켜준다. q.append(nx)#그후에 인접한 노드들을 큐에 집어넣는다. if(visited[nx] ==1): #pop을 한후에 인접 노드들중 방문했던곳인데 if (level[x] == level[nx]): # 나와 레벨..