6/10(์) โ๏ธ ๐ ์ค๋ ์งํ๋ ๊ฐ์์์ ํ์ตํ ๋ด์ฉ์ ๋ฌด์์ธ๊ฐ์?์ค๋์ ๋๋์ด..๋๋์ด...๋๋ ค์์ ๋์ DFS, BFS ๊ทธ๋ํ ํ์์ ๋ํ ํ์ต๊ณผ ๋ฌธ์ ํ์ด๋ฅผ ์งํํ์๋ค.์ง์ง ์ฒ์ ์๊ณ ๋ฆฌ์ฆ ๋ฐฐ์ ์๋ ์ด์ฐ์ ์ฐ ์ดํด๋ฅผ ํด๋, ์ผ๋จ ์ฌ๊ทํจ์์ ๋ํด ๋ง์ด ์ต์์น์๊ณ ์ด๋ ค์ํ๋ค๋ณด๋ ํนํ๋ ์ดํด๊ฐ ๋ง์ด ์ด๋ ค์ ์๋ค. ๊ทธ ์ดํ๋ก ์ค๋๋ง์ ์ ํ๋ DFS,BFS๋ ์ฌ๊ท๋ฅผ ์์ง๋ ์ ๋ค๋ฃจ์ง ๋ชปํ์ง๋ง, ์ด์ ์ข ํฐ ํ์์ ๋ณด๋ ๋์ด ์๊ธฐ๋ค๋ณด๋ ์ด์ ๋ณด๋จ ๊ด์ฐฎ์๊ณ , ๋ฌธ์ ๋ฅผ ํ์ด๋ณผ ์ ์์๋ค. ์ด๋ค ์๋ฆฌ๋ก ์ด๋ค ์์๋ก ์ํ๋ฅผ ํ๊ฒ ๊ตฌ๋ ์ดํด๋ ๋๋๋ฐ ์ด๊ฑธ ์ฝ๋๋ก ์ฎ๊ธฐ๋ฉด์ ๋ง์น ์ด๋ถํ์๋ ์ฝ๋ ๊ณต์๋ง๋ฅ ๊ฑฐ์ ํ์ด ์๋ฏ์ด ์ด๋ฒ์๋ ๋ฐฉ๋ฌธ์ฒ๋ฆฌํ๊ณ , ํ๋ ์คํ์ ๋ฃ๊ณ ๋นผ๊ณ ์ด๋ฐ๊ฒ ๊ณ ์ ์ ๋์ด์์ด์ ์ด๊ฑธ ์ด์ฉํด ๋ฌธ์ ๋ ์ด์ฐ์ ์ฐ ํ์..
๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ
๐ฅ Silver2 https://www.acmicpc.net/problem/7562 โ
์ ๋ตํ์ดimport sysfrom collections import dequeinput = sys.stdin.readlinedx = [1, 2, 2, 1, -1, -2, -2, -1]dy = [2, 1, -1, -2, -2, -1, 1, 2]def bfs(start_x, start_y, end_x, end_y, length): queue = deque([(start_x, start_y)]) visited = [[-1] * length for _ in range(length)] # ๋ชจ๋ ๊ฐ์ -1๋ก ์ด๊ธฐํ visited[start_x][start_y] = 0 # ์์ ์ง์ ์ ์ด๋ ๊ฑฐ๋ฆฌ 0์ผ๋ก ์ค..
๐ฅ Silver3 https://www.acmicpc.net/problem/2606 โ
์ ๋ตํ์ด : DFSdef dfs(idx): stack=[idx] #stack.append(idx) visited[idx]=True while stack: cur=stack.pop() for adj in graph[cur]: if not visited[adj]: visited[adj]=True stack.append(adj)# ๊ทธ๋ํ ์ด๊ธฐ ์ค์ n=int(input())graph=[[] for _ in range(n+1)] #0๋ฒ์งธ ์ธ๋ฑ์ค๋ ๋น๋ฐฐ์ด๋กfor _ in range(int(input())):..
๐ฅSilver2https://www.acmicpc.net/problem/2644 โ
์ ๋ตํ์ดimport sysfrom collections import dequeinput = sys.stdin.readlinedef bfs(start,end): queue=deque([start]) visited[start]=0 # ์์์ง์ : ๊ฑฐ๋ฆฌ 0 while queue: cur=queue.popleft() # ๋ชฉํ ์ง์ ๋๋ฌํ๋ฉด ๊ฑฐ๋ฆฌ ๋ฐํ if cur==end: return visited[cur] # ์ธ์ ๋
ธ๋ ๋ฐฉ๋ฌธ for neighbor in graph[cur]: if visit..
6/8 (ํ ) ๐ง โก๏ธ โ๏ธ๐ ์ค๋ ์งํ๋ ๊ฐ์์์ ํ์ตํ ๋ด์ฉ์ ๋ฌด์์ธ๊ฐ์?์ค๋์ ๊ทธ๋ํ ๊ธฐ์ด ์ด๋ก ์ ๋ํ ํ์ต๊ณผ ์ฌํ ๋ฐฐ์ด ์๋ฃ๊ตฌ์กฐ ์๊ณ ๋ฆฌ์ฆ์ ๋ํ ๋ฌธ์ ํ์ด๋ฅผ ํ์๋ค.์๋
์ด๋์ฏค ๊ธฐ๋ง๊ณ ์ฌ ์ค๋น๋ฅผ ํ๋ฉด์ ๊ทธ๋ํ DFS/BFS ์ํ๋ฅผ ์ฒ์ ๊ณต๋ถํ์ ๋, ์ฒ์ ์ดํดํ๋๋ฐ ๊ต์ฅํ ๋จธ๋ฆฌ๊ฐ ์ํ ์๋ค.๋ฐฐ์ด์ง ์ค๋๋์ด๋ ํ๋ฒ ๋ด๋๋๊ฑฐ๋ผ๊ณ ์ค๋๋ง์ ๋ดค๋๋ฐ ์ดํด๊ฐ ์ด๋ ต์ง ์์๋ค. ๋ฌธ์ ๋ ์์ง recursion์ด ๋ฐ๋ก๋ฐ๋ก ๋จธ๋ฆฌ์์ ๊ทธ๋ ค์ง์ง ์๊ณ , ์ ์ฌ์ฉํด๋ณธ์ ๋ ์์ด์ ๊ตฌํ์ด ์ด๋ ต๋ค...์ค๋์ ์ผ๋จ ๊ทธ๋ํ ๊ตฌํ์ ์๋๊ณ ์ด๋ก ์์ฃผ๋ก๋ง ํ์ตํ๊ธฐ๋๋ฌธ์ ๊ด์ฐฎ์๋๊ฒ ๊ฐ๋ค. ๐ ์ด๋ฒ ์ฃผ ์งํ๋ ํ ์คํฐ๋์์ ์ป์ ์ธ์ฌ์ดํธ๋ ๋ฌด์์ธ๊ฐ์?์ค๋๋ฌธ์ ํ์ด๊ฐ ๋ณต์ต์ด๋ค๋ณด๋, ํ์๋ค๋ ๋ชจ๋ ์ ๋ฐ์ ์ผ๋ก ๋ฌธ์ ๊ฐ ๊ด์ฐฎ์๋ค๊ณ ํ์ง๋ง๋ชจ๋๋ค ์ด..
๐ฅ Silver2https://www.acmicpc.net/problem/1072 โ 1์ฐจ์๋import sysinput=sys.stdin.readlinen,m=map(int,input().strip().split())if n==m: print(-1)else: z=int(m/n*100) # ์น๋ฅ Z start=1 end=n result=0 while start ์ค๋ต์ ์์ธ์ ์๋ชป ์ ์ํ ์น๋ฅ ๊ณผ ์ ๋ ๋ณํ์ง ์๋ ์น๋ฅ ์ผ๋ -1์ ์ถ๋ ฅํ๋ ์กฐ๊ฑด๋ฌธ์ด์๋ค.์ ๋ ์น๋ฅ ์ด ๋ณํ์ง ์๋ ๊ฒฝ์ฐ๋ 100%์ด๊ธฐ ๋๋ฌธ์ ๊ฒ์ํ์์ ์ด๊ธด๊ฒ์์ด ๊ฐ์๋๋ผ๋ ์กฐ๊ฑด์ผ๋ก ์์ฑํ์๋ค. โ๏ธ ๊ทผ๋ฐ ๊ฐ๊ณผํ์ ์ด ์๋ค.์น๋ฅ 99% ๋ํ 100%๋ฅผ ๋ง๋ค ์ ์๋ค. 99.999%๋ผ๊ณ ํ๋๋ผ๋ ๋จ ํ..
6/7 (๊ธ) โ๏ธ๐ ์ค๋ ์งํ๋ ๊ฐ์์์ ํ์ตํ ๋ด์ฉ์ ๋ฌด์์ธ๊ฐ์?์ค๋์ ์ ๋ ฌ๊ณผ ์ด๋ถํ์์ ๋ํ ๊ฐ์์ ๋ฌธ์ ํ์ด๋ฅผ ํด๋ณด์๋ค.์ด๋ถํ์์ ์์ ์ ์ฒ์ ๋ฐฐ์ ์๋ ์ข ์ฌ์ฉํ๊ธฐ ์ด๋ ต๋ค๊ณ ๋๊ผ์๊ณ , ์ฝํ
๋ฌธ์ ๋ฅผ ํ์ด๋ณด๋ฉด์ ์ง์ ์ ์ฉํด์ ๋ฌธ์ ๋ฅผ ํ์ด๋ณธ ๊ฒฝํ์ด ์์๋ค.๊ทธ๋์ ์์ง ์ต์์น ์์๋๋ฐ, ์ด์ฐธ์ ๋ฐฐ์ฐ๋ฉด์ ์ ๋๋ก ์ฌ์ฉ์ ํด๋ณด์๋๊ฒ ๊ฐ๋ค.์ด์ ๋ถํฐ ์ด๋ถํ์ ์ ์ฉํ๊ฒ ์ ์ฌ์ฉํด๋ณด์! ๐ ์ด๋ฒ ์ฃผ ์งํ๋ ํ ์คํฐ๋์์ ์ป์ ์ธ์ฌ์ดํธ๋ ๋ฌด์์ธ๊ฐ์?์ด๋ถํ์์ ์ค์ ๋ก ์ ์ฉํด๋ณธ์ ์ด ์์ด์ ๊ทธ ๊ธฐ์ค์ด ๊ถ๊ธํ์๋๋ฐ ๋ง์นจ ํ์คํฐ๋์์ ๊ทธ ๊ธฐ์ค์ ๋ํ ์๊ธฐ๊ฐ ์์๋ค. ์ด์๋ํด ๋ฉํ ๋๊ป ์ง๋ฌธ์ ํด๋ณด์๋๋ฐ, ์ด๋ถํ์์ ํ์
์์๋ ๋ง์ด ์ฌ์ฉํ๊ธฐ๋ ํ๊ณ ๋ฌธ์ ๋ฅผ ๋ง์ด ํ์ด๋ณด๋๊ฒ์ ์ถ์ฒํด์ฃผ์ ๋ค๊ณ ํ์
จ๋ค.๋ฉํ ๋๋ ํ์
์์ ๋ฐ๋ก ์ด๊ฑด ์ด๋ถ..
๐ฅ silver2 โ
1์ฐจํ์ด : setimport sysinput=sys.stdin.readlinen=int(input())sangs=set(map(int,input().rstrip().split()))m=int(input())num_set=list(map(int,input().rstrip().split()))for s in num_set: # print(s) if s in sangs: print(1,end=' ') else: print(0,end=' ')๋ฉ๋ชจ๋ฆฌ์คํ์๊ฐ125620612 ์ค๋ณต๋ ๊ฐ์ ๋ํ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ ์์๋ฅผ ์ํด์, set์ ์ฌ์ฉํ์๋ค. โ
2์ฐจํ์ด : binary Searchimport sysinput = sys.stdin.readlinen..