๐Ÿ”— Algorithm/Python

    [Python] ๋ฐฑ์ค€ 1260

    [Python] ๋ฐฑ์ค€ 1260

    ๋‹จ์ˆœํžˆ DFS์™€ BFS๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋ฉด ๋œ๋‹ค. ๊ทธ๋ž˜ํ”„ ๊ตฌํ˜„ graph = [[0]*(N+1) for x in range(N+1)] for i in range(M): temp = list(map(int, input().split(' '))) graph[temp[0]][temp[1]] = 1 graph[temp[1]][temp[0]] = 1 ๊ทธ๋ž˜ํ”„๋Š” 2์ฐจ์› ๋ฐฐ์—ด๋กœ ๊ตฌํ˜„ํ•˜์˜€๋‹ค. ๋‘ ์ •์ ์„ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฐ„์„ ์„ 1๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค. ์–‘๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‘ ๋ฒˆ ๋ฐ”๊ฟ”์ฃผ์–ด์•ผ ํ•œ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด ๊ฐ„์„ ์ด 1๊ณผ 2๋ฅผ ์—ฐ๊ฒฐํ•œ๋‹ค๋ฉด, 2์ฐจ์› ๋ฐฐ์—ด์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. DFS ๊ตฌํ˜„ ํƒ์ƒ‰์„ ์‹œ์ž‘ํ•  ์ •์ ์„ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋ฐ›์•„ dfs๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ํ•จ์ˆ˜์ด๋ฉฐ, recursive๋กœ ๊ตฌํ˜„ํ•˜์˜€๋‹ค. graph์—์„œ ์—ฐ๊ฒฐ๋œ ์ •์ ์„ ๋ฆฌ์ŠคํŠธ๋กœ ๋งŒ๋“ค๊ณ , ๋ฆฌ์ŠคํŠธ์— ํ•ด๋‹นํ•˜..

    [Python] ๋ฐฑ์ค€ 2231

    [Python] ๋ฐฑ์ค€ 2231

    ์™„์ „ํƒ์ƒ‰ํ•˜๋Š” brute force ๋ฌธ์ œ์ด๋‹ค. ๋จผ์ € 1๋ถ€ํ„ฐ N๊นŒ์ง€ ๋ชจ๋‘ ๊ณ ๋ คํ•˜๋Š” ๋ฐฉ๋ฒ•์ด์žˆ๋‹ค. ๋‚ด๊ฐ€ ์ฒ˜์Œ์œผ๋กœ ์ œ์ถœํ•œ ๋‹ต์ด๊ธฐ๋„ ํ•˜๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด 256์˜ ์ƒ์„ฑ์ž๋ฅผ ์ฐพ๊ธฐ์œ„ํ•ด 1๋ถ€ํ„ฐ ์ˆœ์ฐจ์ ์œผ๋กœ ํƒ์ƒ‰ํ•ด ์ƒ์„ฑ์ž๊ฐ€ ๋‚˜์˜ค๋ฉด ์ข…๋ฃŒํ•œ๋‹ค. import sys N = int(input()) def Constructor(M): result = M devide = list(str(M)) for i in devide: result += int(i) return result if N < 10 : print(0) else: num = 10 while M