728x90 ๐ป Programming/์๊ณ ๋ฆฌ์ฆ ํ ์คํธ17 [python] ํ๋ก๊ทธ๋๋จธ์ค_์๋ฌผ์ ์ ์ด์ (์์ ํ์) ๋ฌธ์ ํ์ด ์ด์ ๋ฅผ ์ ๋นํ ํ์ /์ด๋์์ผ์ ์๋ฌผ์ ํ์ ๋ฑ ๋ง๊ฒ ๋ผ์์ผ ํ๋ค. ์ด์ ์ ์๋ฌผ์ ์ฌ์ด์ฆ๊ฐ ํฌ์ง ์์ผ๋ฏ๋ก ์์ ํ์์ผ๋ก ํ ์ ์๋ค. ์์ํ ํ์ด๋ฅผ ์ํด ์๋ฌผ์ ๋ฆฌ์คํธ์ ํฌ๊ธฐ๋ฅผ 3๋ฐฐ ์ด์์ผ๋ก ๋ณ๊ฒฝ(์๋ฌผ์ ๋ฅผ ์ค๊ฐ์ ๋๊ณ ๋๋จธ์ง๋ zero padding)ํ๊ณ ์ด์ ๋ฅผ ์ฌ๋ผ์ด๋ฉ/ํ์ ์ํค๋ฉด์ ํ๋์ฉ ํ์ธํ๋ฉด ๋๋ค. 2์ฐจ์ ๋ฆฌ์คํธ๋ฅผ 90๋ ํ์ ์ํค๋ ํจ์์ ์๋ฌผ์ ๋ฆฌ์คํธ์ ์ค๊ฐ ๋ถ๋ถ์ด ๋ชจ๋ 1์ธ์ง ํ์ธํ๋ ํจ์๋ฅผ ๋ง๋ ๋ค. ๋ฉ์ธ์ธ solution ํจ์์์๋ ์๋ฌผ์ ์ ํฌ๊ธฐ๋ฅผ 3๋ฐฐ๋ก ๋ณํํ๊ณ ์๋ก์ด ์๋ฌผ์ ๋ฆฌ์คํธ ์ค๊ฐ์ ๊ธฐ์กด์ ์๋ฌผ์ ๋ฅผ ๋ฃ๋๋ค. ๊ทธ๋ฆฌ๊ณ 4๊ฐ์ง ๋ฐฉํฅ๊ณผ ์ด์ ๊ฐ ์ด๋ํ๋ ํ๋ ๊ฒ์ for๋ฌธ์ ๋๋ค. ์ด์ ๋ ๊ฐ ์์น์์ ์๋ฌผ์ ์ ๋ฃ๊ณ ์ด์ ๊ฐ ์๋ฌผ์ ์ ์ ํํ ๋ค์ด๋ง๋์ง ํ์ธํ๊ณ ๋ค์ ์๋ฌผ์ ์์ ์ด์ ๋ฅผ ๋นผ.. 2022. 2. 14. [python] ํ๋ก๊ทธ๋๋จธ์ค_์นดํซ (์์ ํ์) ๋ฌธ์ ํ์ด ์นดํซ ๊ทธ๋ฆผ์ ๋ณด๊ณ ๊ฐ๋ก๊ธธ์ด = a, ์ธ๋ก๊ธธ์ด = b ๋ก ๋๊ณ ์กฐ๊ฑด์ ๋ถํฉํ๋ ์์ ๋ง๋ค๊ณ for ๋ฌธ ๋๋ฉด์ if ๋ฌธ์ผ๋ก ์กฐ๊ฑด์ ๋ง๋ ๊ฒฝ์ฐ๋ฅผ ์ฐพ์ผ๋ฉด ๋๋ค. def solution(brown, yellow): total = brown + yellow for b in range(1, total+1): if total/b % 1 == 0: a = total/b if a>=b: if ((a-2)*(b-2) == yellow) and (2*a + 2*b -4 == brown): return [int(a),int(b)] 2022. 2. 14. [python] ํ๋ก๊ทธ๋๋จธ์ค_ํ๊ฒ๋๋ฒ (DFS&BFS) ๋ฌธ์ ํ์ด BFS ๋ฅผ ์ด์ฉํ์ฌ ํ ์ ์๋ค. ๋ค์ ์๋ฅผ ๋ํ๊ณ ๋นผ๋ ๊ฒฝ์ฐ ๋๊ฐ์ง๋ฅผ ๋ชจ๋ ํ์ ๋ฃ์ผ๋ฉด์ BFS๋ฅผ ์งํ์ํค๊ณ target ๊ณผ ๋์ผํ ๊ฒฝ์ฐ์ ์นด์ดํธํด์ค๋ค. ์ฝ๋ from collections import deque def solution(numbers, target): answer = 0 queue = deque() n = len(numbers) queue.append([numbers[0],0]) queue.append([-1*numbers[0],0]) while queue: temp, idx = queue.popleft() idx += 1 if idx < n: queue.append([temp+numbers[idx], idx]) queue.append([temp-numbers[idx], id.. 2022. 2. 6. [python] ํ๋ก๊ทธ๋๋จธ์ค_๋จ์ด๋ณํ (DFS&BFS) ๋ฌธ์ ํ์ด BFS ๋ก ํ ์ ์๊ณ , ํ์ฌ ๋จ์ด์ words ์ค์ ๋จ์ด ํ๋๋ง ๋ค๋ฅธ ๊ฒฝ์ฐ์ ํด๋น words ๋ฅผ ๋ฐฉ๋ฌธํ๊ณ ์นด์ดํธํด์ค๋ค. ๊ทธ๋ ๊ฒ ๋ฐ๋ณตํ๋ค๊ฐ ํ์ฌ ๋จ์ด๊ฐ target ๋จ์ด์ ๊ฐ์ ์ง๋ ์๊ฐ BFS ์ข ๋ฃํ๊ณ ์นด์ดํธํ ์๋ฅผ ๋ฆฌํดํด์ค๋ค. ์ฝ๋ def bfs(begin, target, words, visited): count = 0 stack = [(begin, 0)] while stack: cur, depth = stack.pop() if cur == target: # target์ ๋๋ฌํ์ผ๋ฉด depth ๋ฆฌํด return depth for i in range(len(words)): if visited[i] == True: # ์ด๋ฏธ ์ง๋์ณค๋ words ์ด๋ฉด ํจ์ค continue cnt = 0 for a.. 2022. 2. 6. [python] ํ๋ก๊ทธ๋๋จธ์ค_๋คํธ์ํฌ (DFS&BFS) ๋ฌธ์ ํ์ด ๋ชจ๋ ์ปดํจํฐ๋ฅผ ๋๋ฉด์ ๋ฐฉ๋ฌธ ์ํ ์์น์ ๋ฐฉ๋ฌธํ์ฌ DFS๋ฅผ ์ํํ์ฌ ํ ์ ์๋ค. ํ๋์ DFS๊ฐ ์ข ๋ฃ๋๋ฉด +1 ํด์ ๋คํธ์ํฌ ์๋ฅผ ๊ณ์ฐํ๊ณ , DFS ํจ์๋ ํด๋น ์์น๋ฅผ ๋ฐฉ๋ฌธ์ฒ๋ฆฌํ๊ณ ๋ชจ๋ ์ปดํจํฐ๋ฅผ for๋ฌธ์ผ๋ก ํ์ธํ๋ฉด์ ์๊ธฐ ์์ ์ด ์๋๊ณ ์ฐ๊ฒฐ๋์ด ์๋ ๊ฒฝ์ฐ ๊ทธ๋ฆฌ๊ณ ๋ฐฉ๋ฌธ์ ์ํ ๊ฒฝ์ฐ์ DFS๋ก ๋ฐฉ๋ฌธ์ฒ๋ฆฌํ๋ค. ์ฝ๋ def solution(n, computers): answer = 0 visited = [False]*n # ์ปดํจํฐ ๊ฐ์ ๋งํผ for com in range(n): # ๊ฐ ์ปดํจํฐ๋ฅผ ๋๋ฉด์ ๋ฐฉ๋ฌธ ์ํ์ผ๋ฉด DFS if visited[com] == False : DFS(n, computers, com, visited) answer +=1 # ์ฐ๊ฒฐ๋ ํ๋์ ๋คํธ์ํฌ +1 return answe.. 2022. 2. 6. [python] ๋ฐฑ์ค18405_๊ฒฝ์์ ์ ์ผ (DFS&BFS) ๋ฌธ์ ํ์ด BFS๋ฅผ ์ด์ฉํ์ฌ ํ ์ ์๊ณ , ๊ฐ ๋ฐ์ด๋ฌ์ค๊ฐ ๋ฎ์ ๋ฒํธ๋ถํฐ ์ฆ์ํ๊ธฐ ๋๋ฌธ์ ์ด๊ธฐ์ ํ์ ์์๋ฅผ ์ฝ์ ํ ๋ ๋ฎ์ ๋ฐ์ด๋ฌ์ค์ ๋ฒํธ๋ถํฐ ์ฝ์ ํด์ผ ํ๋ค. ํ์์ ๋ฎ์ ๋ฐ์ด๋ฌ์ค ๋ฒํธ๋ถํฐ popํ์ฌ ์ํ์ข์ฐ๋ก ๋ฐ์ด๋ฌ์ค ๋ฒ์์ํค๊ณ , ๋ฒ์๋ ์์น๋ฅผ ๋ค์ ํ์ ๋ฃ๊ณ , ์ํ๋ ์๊ฐ์ด ๋ ๋๊น์ง ๋ฐ๋ณตํ๋ค. ์ฝ๋ from collections import deque n, k = map(int,input().split()) graph = [] # ์ ์ฒด ๋ณด๋ ์ ๋ณด๋ฅผ ๋ด๋ ๋ฆฌ์คํธ data = [] # ๋ฐ์ด๋ฌ์ค์ ๋ํ ์ ๋ณด๋ฅผ ๋ด๋ ๋ฆฌ์คํธ for i in range(n): # ๋ณด๋ ์ ๋ณด๋ฅผ ํ ์ค ๋จ์๋ก ์ ๋ ฅ graph.append(list(map(int, input().split()))) for j in range(n):.. 2022. 2. 6. ์ด์ 1 2 3 ๋ค์ 728x90