์ „์ฒด ๊ธ€ 130

[๋ฐฑ์ค€ 15686] ์น˜ํ‚จ ๋ฐฐ๋‹ฌ (Python)

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป๋ฌธ์ œ๋งํฌ [๋ฐฑ์ค€ 15686] ์น˜ํ‚จ ๋ฐฐ๋‹ฌ (Python) โœ๏ธIdea Sketch 2021-08-10 1. ์ถœ๋ ฅ๊ฐ’ ๋ถ„์„ํ•˜๊ธฐ ์น˜ํ‚จ๊ฑฐ๋ฆฌ : ์ง‘๊ณผ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์น˜ํ‚จ์ง‘ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ ์ง‘ (x1, y1), ์น˜ํ‚จ์ง‘ (x2, y2) ์ผ ๋•Œ, ์น˜ํ‚จ๊ฑฐ๋ฆฌ๋Š” |x1-x2| + |y1-y2| ์ด๋‹ค. ๋„์‹œ์˜ ์น˜ํ‚จ๊ฑฐ๋ฆฌ : ๋ชจ๋“  ์น˜ํ‚จ๊ฑฐ๋ฆฌ์˜ ํ•ฉ ๋„์‹œ์˜ ์น˜ํ‚จ๊ฑฐ๋ฆฌ์˜ ์ตœ์†Ÿ๊ฐ’์€? 2. ์ž…๋ ฅ๊ฐ’ ๋ถ„์„ํ•˜๊ธฐ ๋„์‹œ์˜ ํฌ๊ธฐ๋Š” n*n ์ด๋‹ค. ์น˜ํ‚จ์ง‘์€ m๊ฐœ ๋นผ๊ณ  ๋‹ค ํ์—…ํ•  ์˜ˆ์ •์ด๋‹ค. 0์€ ๋นˆ์นธ์ด๋‹ค. 1์€ ์ง‘์ด๋‹ค. 2๋Š” ์น˜ํ‚จ์ง‘์ด๋‹ค. 3. ๋กœ์ง ์‚ดํŽด๋ณด๊ธฐ ์น˜ํ‚จ์ง‘์ด 5๊ฐœ๊ณ , m์ด 2์ธ ๊ฒฝ์šฐ ์น˜ํ‚จ์ง‘ 5๊ฐœ ์ค‘์— 2๊ฐœ๋ฅผ ๊ณ ๋ฅด๋Š” ๋ชจ๋“  ์กฐํ•ฉ์„ combinations ๋กœ ๊ตฌํ•œ๋‹ค. city_length()์—์„œ ์น˜ํ‚จ๊ฑฐ๋ฆฌ min_length ์™€ ๋„์‹œ์˜ ์น˜ํ‚จ๊ฑฐ๋ฆฌ total์„..

[๋ฐฑ์ค€ 16234] ์ธ๊ตฌ ์ด๋™ (Python)

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป๋ฌธ์ œ๋งํฌ [๋ฐฑ์ค€ 16234] ์ธ๊ตฌ ์ด๋™ (Python) โœ๏ธIdea Sketch 2021-08-09 1. ์ด๋ฒˆ ๋ฌธ์ œ๋Š” 80% ์—์„œ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•ด ์• ๋ฅผ ๋จน์€ ๋ฌธ์ œ๋‹ค. Python3์—๋Š” ์•ฝ 1000ํšŒ์˜ ์žฌ๊ท€ ์ œํ•œ์ด ์žˆ๋‹ค. PyPy3๋Š” ์žฌ๊ท€ ์ œํ•œ ํšŸ์ˆ˜๊ฐ€ ๋” ์ปค์„œ ํ†ต๊ณผํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. import sys sys.setrecursionlimit(10**6) 2. BFS์™€ DFS DFS, BFS ๋‘˜ ์ค‘ ์–ด๋Š ๊ฒƒ์„ ํ•ด๋„ ์ƒ๊ด€์—†์ง€๋งŒ BFS๋กœ ๊ตฌํ˜„ํ•œ ์‚ฌ๋ก€๊ฐ€ ๋งŽ๋‹ค. ์ด๋ฒˆ์— DFS๋กœ ๊ตฌํ˜„ํ•ด๋ดค๋Š”๋ฐ ์žฌ๊ท€ ์ œํ•œ์œผ๋กœ ์• ๋ฅผ ๋งŽ์ด ๋จน์—ˆ๋‹ค. ๋‹ค์‹œ ์ด ๋ฌธ์ œ๋ฅผ ๋ณธ๋‹ค๋ฉด BFS๋กœ ๊ตฌํ˜„ํ•ด๋ณผ ๊ฒƒ. 3. ๋กœ์ง ์ดํ•ดํ•˜๊ธฐ ๋กœ์ง ์ดํ•ด์— ๋งŽ์€ ๋„์›€์ด ๋œ ๋งˆ์ด๊ตฌ๋ฏธ๋‹˜ ๋ธ”๋กœ๊ทธ dfs(x, y) : ์ƒํ•˜์ขŒ์šฐ ์ธ์ ‘ํ•œ ๋‚˜๋ผ์™€ ์ธ๊ตฌ ์ฐจ์ด๋ฅผ ํ™•์ธํ•œ๋‹ค. fla..

[๋ฐฑ์ค€ 14891] ํ†ฑ๋‹ˆ๋ฐ”ํ€ด (Python)

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป๋ฌธ์ œ๋งํฌ [๋ฐฑ์ค€ 14891] ํ†ฑ๋‹ˆ๋ฐ”ํ€ด (Python) โœ๏ธIdea Sketch 2021-08-09 1. ๋ฌธ์ œ ์ดํ•ดํ•˜๊ธฐ ํ†ฑ๋‹ˆ๋ฐ”ํ€ด๋Š” ํ•œ ์นธ ์ด๋™์„ ๊ธฐ์ค€์œผ๋กœ, K๋ฒˆ ํšŒ์ „ํ•œ๋‹ค. ์‹œ๊ณ„ or ๋ฐ˜์‹œ๊ณ„๋ฐฉํ–ฅ์œผ๋กœ ํšŒ์ „ํ•œ๋‹ค. A๊ฐ€ ํšŒ์ „ํ•˜๊ธฐ ์ „ B์™€ ๊ทน์ด ๋‹ค๋ฅธ ๊ฒฝ์šฐ, B๋Š” A์™€ ๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ์œผ๋กœ ํšŒ์ „ํ•œ๋‹ค. B์™€ ๊ทน์ด ๊ฐ™์€ ๊ฒฝ์šฐ, B๋Š” ํšŒ์ „ํ•˜์ง€ ์•Š๋Š”๋‹ค. 2. ์ž…๋ ฅ๊ฐ’ ์‚ดํŽด๋ณด๊ธฐ 12์‹œ๋ถ€ํ„ฐ ์‹œ๊ณ„๋ฐฉํ–ฅ 0์€ N๊ทน, 1์€ S๊ทน ํšŒ์ „ ํšŸ์ˆ˜ K ํšŒ์ „ํ•  ํ†ฑ๋‹ˆ๋ฐ”ํ€ด ๋ฒˆํ˜ธ(num) ๋ฐ ํšŒ์ „๋ฐฉํ–ฅ 1์€ ์‹œ๊ณ„๋ฐฉํ–ฅ -1๋Š” ๋ฐ˜์‹œ๊ณ„๋ฐฉํ–ฅ 3. ์žฌ๊ท€์  ๋กœ์ง ์˜ˆ์ œ1 ์ฐธ๊ณ ) ํ†ฑ๋‹ˆ๋ฐ”ํ€ด 3์„ ๋ฐ˜์‹œ๊ณ„๋ฐฉํ–ฅ์œผ๋กœ ํšŒ์ „์‹œ์ผœ๋ณด์ž. ํ†ฑ๋‹ˆ๋ฐ”ํ€ด 3๊ณผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ธ์ ‘ํ•œ ํ†ฑ๋‹ˆ๋ฐ”ํ€ด 4๋ฅผ ์‚ดํŽด๋ณด์ž. recursion() graph[3][2]์™€ graph[4][6]์˜ ๋‘ ๊ทน์ด ๋‹ค๋ฅธ ๊ฒฝ์šฐ, ..

[์šด์˜์ฒด์ œ] CPU ์Šค์ผ€์ค„๋ง

๋ฉ€ํ‹ฐํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™์‹œ์— ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œ๋˜๋Š”๋ฐ ๊ฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ cpu๋ฅผ ์„ ์ ํ•ด์„œ concurrentํ•˜๊ฒŒ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์„ ๋ฉ€ํ‹ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ผ๊ณ  ํ•จ (๋ฉ€ํ‹ฐ ํ…Œ์Šคํ‚น) concurrent์˜ ๋ชฉ์  ์ „์ œ์กฐ๊ฑด : cpu๊ฐ€ ๋งค์šฐ ๋นจ๋ผ์„œ ๋†€๊ณ ์žˆ์„ ๋•Œ ์‹œ๋ถ„ํ• ํ•˜์—ฌ cpu์ž์›์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ cpu utilization์„ ๋Š˜๋ฆฌ๊ธฐ ์œ„ํ•ด ์Šค์ผ€์ค„๋ง์ด ํ•„์š”ํ•จ cpu ์Šค์ผ€์ค„๋Ÿฌ ready์ƒํƒœ์˜ ํ”„๋กœ์„ธ์Šค๋“ค ์ค‘์— cpu๋ฅผ ํ• ๋‹นํ•ด์ค„ ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ ํƒ ํ˜„ cpu running ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žˆ๊ณ  ready์ธ ํ”„๋กœ์„ธ์Šค ์ค‘ ์–ด๋Š ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ ํƒํ•  ๊ฒƒ์ธ๊ฐ€? preemptive(์„ ์ ํ˜•) vs non-preemptive (๋น„์„ ์ ํ˜•) ์„ ์ ํ˜• : ๊ฐ•์ œ๋กœ ์ซ“์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ์ž๋ฐœ์ ์œผ๋กœ ๋‚˜๊ฐ€๊ฒŒ ์Šค์ผ€์ค„๋Ÿฌ๊ฐ€ ํ• ๋‹น ์ค‘์ธ ํ”„๋กœ์„ธ์„œ๋ฅผ ์ซ“์•„๋‚ผ ์ˆ˜ ์žˆ..

[๋ฐฑ์ค€ 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..