ํŒŒ์ด์ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ 37

[๋ฐฑ์ค€ 10026] ์ ๋ก์ƒ‰์•ฝ (Python)

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป๋ฌธ์ œ๋งํฌ [๋ฐฑ์ค€ 10026] ์ ๋ก์ƒ‰์•ฝ (Python) โœ๏ธIdea Sketch 2021-08-03 1. ๋ฌธ์ œ๊ฐ€ ์š”๊ตฌํ•˜๋Š” ์ถœ๋ ฅ๊ฐ’์€? ์ ๋ก์ƒ‰์•ฝ์ด ์•„๋‹Œ ์‚ฌ๋žŒ์€ R, G, B ์„ธ ์ข…๋ฅ˜๋กœ ๊ตฌ์—ญ์„ ๋‚˜๋ˆˆ๋‹ค. ์ ๋ก์ƒ‰์•ฝ์ธ ์‚ฌ๋žŒ์€ R=G, B ๋‘ ์ข…๋ฅ˜๋กœ ๊ตฌ์—ญ์„ ๋‚˜๋ˆˆ๋‹ค. ๋‘ ์‚ฌ๋žŒ์ด ์ธ์ง€ํ•˜๋Š” ๊ตฌ์—ญ์˜ ์ˆ˜๋ฅผ ๊ฐ๊ฐ ์ถœ๋ ฅํ•ด์•ผ ํ•œ๋‹ค. 2. main ๋กœ์ง ์ž…๋ ฅ๊ฐ’์„ ๋ฐ›์•„ graph๋ฅผ ์ž‘์„ฑํ•œ๋‹ค. ๋ฐฉ๋ฌธ์—ฌ๋ถ€๋ฅผ ์ €์žฅํ•˜๋Š” visited๋ฅผ ์ž‘์„ฑํ•œ๋‹ค. ๋ชจ๋“  color๋ฅผ ๋ฐฉ๋ฌธํ•˜๋ฏ€๋กœ ์ด์ค‘ ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•œ๋‹ค. for i in range(n): for j in range(m): # graph[i][j] ์ ๋ก์ƒ‰์•ฝ์ด ์•„๋‹Œ ์‚ฌ๋žŒ 1) ์ฒ˜์Œ ๋ฐฉ๋ฌธํ•œ ๊ฒฝ์šฐ, ์ƒˆ๋กœ์šด ๊ตฌ์—ญ์„ ์ธ์ง€ํ•œ ๊ฒƒ์ด๋‹ค. 2) ๋”ฐ๋ผ์„œ result += 1 ์„ ์‹คํ–‰ํ•œ๋‹ค. ์ ๋ก์ƒ‰์•ฝ์ธ ์‚ฌ๋žŒ 0) c..

[๋ฐฑ์ค€ 7576] ํ† ๋งˆํ†  (Python)

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป๋ฌธ์ œ๋งํฌ [๋ฐฑ์ค€ 7576] ํ† ๋งˆํ†  (Python) โœ๏ธIdea Sketch 2021-08-02 1. ์˜ˆ์ƒ ์ถœ๋ ฅ๊ฐ’ 1) ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ชจ๋‘ ์ต์€ ๊ฒฝ์šฐ, ์ฆ‰ ์ž…๋ ฅ๊ฐ’์— 0์ด ์—†๋Š” ๊ฒฝ์šฐ์—๋Š” 0์„ ์ถœ๋ ฅํ•œ๋‹ค. 2) 0์ด ๋ชจ๋‘ 1์ด ๋˜๊ธฐ๊นŒ์ง€ ๊ฑธ๋ฆฌ๋Š” ์ตœ์†Œ ๋‚ ์งœ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. 3) ๋ชจ๋‘ ์ต์ง€๋Š” ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ, ์ฆ‰ ๋ชจ๋“  ์—ฐ์‚ฐ์ด ๋๋‚œ ํ›„์—๋„ 0์ด ๋‚จ์•„์žˆ๋Š” ๊ฒฝ์šฐ์—๋Š” -1์„ ์ถœ๋ ฅํ•œ๋‹ค. 2. main ๋กœ์ง ์ž…๋ ฅ๊ฐ’์„ ๋ฐ›์•„ graph ์— ์ •๋ฆฌํ•œ๋‹ค. ์ต์€ ํ† ๋งˆํ† ์˜ x, y ์ธ๋ฑ์Šค๋ฅผ queue์— ์ €์žฅํ•œ๋‹ค. queue์˜ ์ฒซ๋ฒˆ์งธ ์š”์†Œ x, y๋ฅผ popํ•œ๋‹ค. dfs ์—ฐ์‚ฐ์„ ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐฉ๋ฌธ์—ฌ๋ถ€๋ฅผ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค. (visited[y][x] = 0) dfs(x, y) ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค. 3. DFS ๋กœ์ง ๊ฒฝ๊ณ„๊ฐ’์„ ๋ถ„์„ํ•œ๋‹ค. ์ฒ˜์Œ ๋ฐฉ๋ฌธํ•˜๋ฉด์„œ 1) ์ต์€ ํ† ..

[๋ฐฑ์ค€ 1759] ์•”ํ˜ธ ๋งŒ๋“ค๊ธฐ (Python)

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป๋ฌธ์ œ๋งํฌ [๋ฐฑ์ค€ 1759] ์•”ํ˜ธ ๋งŒ๋“ค๊ธฐ (Python) โœ๏ธIdea Sketch 2021-07-29 1. ํ’€์ด๋ฒ• ๋ฐฉ๋ฒ• 1. DFS ์กฐํ•ฉ ๊ตฌํ˜„ ๋ฐฉ๋ฒ• 2. itertools ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ from itertools import combinations words = combinations(alpha, L) # combinations(์กฐํ•ฉํ•  ์›์†Œ์˜ ๋ฐฐ์—ด, ์กฐํ•ฉํ•  ์›์†Œ์˜ ๊ฐœ์ˆ˜) 2. ์„œ๋กœ ๋‹ค๋ฅธ L๊ฐœ์˜ ์•ŒํŒŒ๋ฒณ์„ ๋ฝ‘์€ ํ›„(์กฐํ•ฉ), ๋ฌธ์ œ์กฐ๊ฑด์„ ๋งŒ์กฑํ•  ๋•Œ print 3. ๋†“์นœ ๋ถ€๋ถ„ : ์ž…๋ ฅ๊ฐ’์„ ๋ฐ›์ž๋งˆ์ž ์ •๋ ฌํ•˜๊ธฐ ์˜ฌ๋ฐ”๋ฅธ ์ฝ”๋“œ L, C = map(int, input().split()) alpha = sorted(input().split()) #1, ์ž…๋ ฅ๊ฐ’์„ ๋ฐ›์ž๋งˆ์ž ์ •๋ ฌํ•  ๊ฒƒ ๋ฌธ์ œ์ƒํ™ฉ : ์•„๋ž˜์™€ ๊ฐ™์ด printํ•  ..

[๋ฐฑ์ค€ 2309] ์ผ๊ณฑ ๋‚œ์Ÿ์ด (Python)

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป๋ฌธ์ œ๋งํฌ [๋ฐฑ์ค€ 2309] ์ผ๊ณฑ ๋‚œ์Ÿ์ด (Python) โœ๏ธIdea Sketch 2021-07-29 1. ๋ธŒ๋ฃจํŠธ ํฌ์Šค(brute force) = ๋ฌด์‹ํ•œ ํž˜ = ์™„์ „ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜ 2. i๋Š” 0๋ถ€ํ„ฐ 8๋ฒˆ์งธ๊นŒ์ง€ ํƒ์ƒ‰, j๋Š” i+1๋ถ€ํ„ฐ 9๋ฒˆ์งธ๊นŒ์ง€ ํƒ์ƒ‰ for i in range(8): for j in range(i+1, 9): 3. ์ด์ค‘ ๋ฐ˜๋ณต๋ฌธ ์ข…๋ฃŒํ•˜๊ธฐ ๋ฐฉ๋ฒ• 1 : ํ•จ์ˆ˜ ์„ ์–ธ ํ›„ return ๋ฐฉ๋ฒ• 2 : sys.exit(0) ์‚ฌ์šฉ โœ๏ธ์†Œ์Šค์ฝ”๋“œ 2021-07-29 ๋ฐฉ๋ฒ• 1. ํ•จ์ˆ˜ ์„ ์–ธ ํ›„ return, 80ms ํ†ต๊ณผ height = sorted([int(input()) for _ in range(9)]) total = sum(height) def solution(): for i in range(8): fo..

[๋ฐฑ์ค€ 1012] ์œ ๊ธฐ๋† ๋ฐฐ์ถ” (Python)

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป๋ฌธ์ œ๋งํฌ [๋ฐฑ์ค€ 1012] ์œ ๊ธฐ๋† ๋ฐฐ์ถ” (Python) โœ๏ธIdea Sketch 2021-08-02 1. ๋‹จ์ง€๋ฒˆํ˜ธ๋ถ™์ด๊ธฐ์™€ ๊ฐ™์€ DFS ๋กœ์ง 2. ์˜ค๋žœ๋งŒ์— ํ’€์–ด์„œ ์žŠ์€ ๊ฒƒ main์—์„œ dfs()๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ์ด์ค‘๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ 2์ฐจ์› ๋ฐฐ์—ด graph ์˜ ๋ชจ๋“  ์›์†Œ๋ฅผ ํ™•์ธํ•œ๋‹ค 3. dx dy ์‚ฌ์šฉ ์‹œ ์†Œ์š”์‹œ๊ฐ„ 4ms ์ฆ๊ฐ€ (96ms) dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] def dfs(x, y): if (0

[๋ฐฑ์ค€ 2178] ๋ฏธ๋กœ ํƒ์ƒ‰ (Python)

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป๋ฌธ์ œ๋งํฌ [๋ฐฑ์ค€ 2178] ๋ฏธ๋กœ ํƒ์ƒ‰ (Python) โœ๏ธIdea Sketch 2021-07-28 1. ๋ฐฑ์ค€ ์ž…๋ ฅ๊ฐ’ ์ฒ˜๋ฆฌ์—์„œ ํ—ค๋งธ๋˜ ๋ฌธ์ œ sys.stdin.readline() : ํ•œ ์ค„์„ ์ž…๋ ฅ๋ฐ›์œผ๋ฉฐ, input()๊ณผ ๋น„์Šทํ•˜๋‹ค. split() : ๋„์–ด์“ฐ๊ธฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์›์†Œ๋ฅผ ๋‚˜๋ˆˆ๋‹ค. rstrip() : ์šฐ์ธก \n๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค. list(map(int, sys.stdin.readline().rstrip())) : ํ•œ ์ค„ ์ž…๋ ฅ๋ฐ›๊ณ , ์šฐ์ธก \n์„ ์ œ๊ฑฐํ•œ ํ›„, ๋ชจ๋“  ์›์†Œ๋ฅผ intํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•œ ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•œ๋‹ค. N, M = map(int, sys.stdin.readline().split()) graph = [list(map(int, sys.stdin.readline().rstrip())) for _ in ran..

[๋ฐฑ์ค€ 1697] ์ˆจ๋ฐ”๊ผญ์งˆ (Python)

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป๋ฌธ์ œ๋งํฌ [๋ฐฑ์ค€ 1697] ์ˆจ๋ฐ”๊ผญ์งˆ (Python) โœ๏ธIdea Sketch 2021-07-28 1. ์  N์˜ ๋ฒ”์œ„ (0 ≤ N ≤ 100,000) visited๋Š” ํฌ๊ธฐ๊ฐ€ 100001์ธ ๋ฐฐ์—ด visited = [0]*100001 # ๋ฐฉ๋ฒ•1 visited = [0 for i in range(100001)] # ๋ฐฉ๋ฒ•2 2. ์†Œ์š” ์‹œ๊ฐ„ ์นด์šดํŠธํ•˜๋Š” ๋ฐฉ๋ฒ• visited[i] = visited[v] + 1 3. ์  N ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌํ•  ํ•„์š” ์—†์Œ N์„ ๋‹ค์‹œ ๋ฐฉ๋ฌธํ•˜๋Š” ๊ฒฝ๋กœ๋Š” ์–ด์ฐจํ”ผ ์ตœ๋‹จ๊ฒฝ๋กœ๊ฐ€ ์•„๋‹˜ def bfs(N, K, visited): queue = deque([N]) visited[N] = 1 # ๋ถˆํ•„์š” โœ๏ธ์†Œ์Šค์ฝ”๋“œ 2021-07-28 156ms ํ†ต๊ณผ import sys from collections impor..