BFS

    [Python] ๋ฐฑ์ค€ 18405 ๊ฒฝ์Ÿ์  ์ „์—ผ | BFS

    ~๋ชฉ์ฐจ~ ๋ฌธ์ œ ๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ ์ž‘์„ฑ ์ฝ”๋“œ ๋ฌธ์ œ https://www.acmicpc.net/problem/18405 18405๋ฒˆ: ๊ฒฝ์Ÿ์  ์ „์—ผ ์ฒซ์งธ ์ค„์— ์ž์—ฐ์ˆ˜ N, K๊ฐ€ ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 200, 1 ≤ K ≤ 1,000) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ์„œ ์‹œํ—˜๊ด€์˜ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ–‰์€ N๊ฐœ์˜ ์›์†Œ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ํ•ด๋‹น ์œ„์น˜ www.acmicpc.net ๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ - ํŠน์ • ์œ„์น˜๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ์ƒํ•˜์ขŒ์šฐ ๋ป—์–ด๊ฐ€๋ฏ€๋กœ BFS๊ฐ€ ์ ์ ˆ - ์ˆซ์ž๊ฐ€ ์ž‘์€ ๋ฐ”์ด๋Ÿฌ์Šค๊ฐ€ ์šฐ์„ ๋˜์–ด์•ผ ํ•˜๋ฏ€๋กœ ๋ฆฌ์ŠคํŠธ๋กœ ๋ฐ›์•„ ์ •๋ ฌ ํ›„ ํ๋กœ ์ „ํ™˜ํ•œ๋‹ค! - ํ์— ๊ฐ’์ด ์—†์–ด์งˆ ๋•Œ๊นŒ์ง€ ๊บผ๋‚ด ์ƒํ•˜์ขŒ์šฐ์˜ ๊ฐ ๊ฐ’์ด ๋‹ค์‹œ ํ์— ๋„ฃ๋Š” ์กฐ๊ฑด์— ๋ถ€ํ•ฉํ•˜๋Š”์ง€ ํ™•์ธํ•œ๋‹ค. - ํ์—์„œ ๊บผ๋‚ธ ๊ฐ’์˜ ์‹œ๊ฐ„์ด S์™€ ๊ฐ™๋‹ค๋ฉด ์ข…๋ฃŒ - X-1 ํ–‰ ..

    [Python] ๋ฐฑ์ค€ 14502 ์—ฐ๊ตฌ์†Œ | BFS

    ~๋ชฉ์ฐจ~ ๋ฌธ์ œ ๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ ์ž‘์„ฑ ์ฝ”๋“œ ๋ฌธ์ œ https://www.acmicpc.net/problem/14502 14502๋ฒˆ: ์—ฐ๊ตฌ์†Œ ์ธ์ฒด์— ์น˜๋ช…์ ์ธ ๋ฐ”์ด๋Ÿฌ์Šค๋ฅผ ์—ฐ๊ตฌํ•˜๋˜ ์—ฐ๊ตฌ์†Œ์—์„œ ๋ฐ”์ด๋Ÿฌ์Šค๊ฐ€ ์œ ์ถœ๋˜์—ˆ๋‹ค. ๋‹คํ–‰ํžˆ ๋ฐ”์ด๋Ÿฌ์Šค๋Š” ์•„์ง ํผ์ง€์ง€ ์•Š์•˜๊ณ , ๋ฐ”์ด๋Ÿฌ์Šค์˜ ํ™•์‚ฐ์„ ๋ง‰๊ธฐ ์œ„ํ•ด์„œ ์—ฐ๊ตฌ์†Œ์— ๋ฒฝ์„ ์„ธ์šฐ๋ ค๊ณ  ํ•œ๋‹ค. ์—ฐ๊ตฌ์†Œ๋Š” ํฌ www.acmicpc.net ๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ - 0์ธ ๊ฐ’์˜ ๋ชจ๋“  ์œ„์น˜๋ฅผ ๋ฆฌ์ŠคํŠธ (blank)์— ๋„ฃ์–ด์„œ cominations ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•ด 3๊ฐœ ์œ„์น˜ ๋žœ๋ค ์ถ”์ถœ(nCr) - ๋ฒ ์ด์Šค๊ฐ€ ๋˜๋Š” ๊ธฐ์กด ์ •๋ณด์— ํ•ด๋‹น ํ•˜๋Š” 3๊ฐœ์˜ ์œ„์น˜๋ฅผ 1๋กœ ์„ค์ •ํ•˜๊ณ  check ํ•จ์ˆ˜ ํ˜ธ์ถœ - check ํ•จ์ˆ˜ ~ BFS๋ฅผ ์œ„ํ•œ ํ๋ฅผ ์„ ์–ธํ•˜์—ฌ ๊ฐ’์ด 2์ธ ์œ„์น˜๋ฅผ ๋„ฃ๋Š”๋‹ค. ~ ํ์— ๊ฐ’์„ ํ•˜๋‚˜์”ฉ ๊บผ๋‚ด ํ•ด๋‹น ํ•˜๋Š” ์œ„์น˜์—์„œ ์œ„, ..

    [Python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ํƒ€๊ฒŸ ๋„˜๋ฒ„ | ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰(BFS)

    https://school.programmers.co.kr/learn/courses/30/lessons/43165 [ํƒ€๊ฒŸ ๋„˜๋ฒ„] level 2 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr from collections import deque def solution(numbers, target): que = deque() que.append((1, numbers[0])) que.append((1, -numbers[0])) result = 0 while que: q = que.popleft() if q[0] == len(numbers): if q[1] ==..