๐Ÿงฉ Algorithm 331

[Programmers/์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณ ๋“์  KIT] ํฌ์ผ“๋ชฌ

[Programmers] ํฌ์ผ“๋ชฌLevel 1 | #ํ•ด์‹œ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ ๐Ÿ”—1. ๋ฌธ์ œ ์š”์•ฝN๋งˆ๋ฆฌ์˜ ํฌ์ผ“๋ชฌ ์ค‘์—์„œ N/2๋งˆ๋ฆฌ๋ฅผ ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. ์ด๋•Œ ์ตœ๋Œ€ํ•œ ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ํฌ์ผ“๋ชฌ์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ด๋‹ค.ํฌ์ผ“๋ชฌ์˜ ์ข…๋ฅ˜ ๋ฒˆํ˜ธ๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด nums๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ํฌ์ผ“๋ชฌ ์ข…๋ฅ˜ ๊ฐœ์ˆ˜์˜ ์ตœ๋Œ“๊ฐ’์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.2. ์ ‘๊ทผ ๋ฐฉ์‹ ๋ฐ ํฌ์ธํŠธ๊ฐ€์žฅ ๋งŽ์€ ์ข…๋ฅ˜๋ฅผ ์„ ํƒํ•˜๋ ค๋ฉด ์ค‘๋ณต๋œ ์ข…๋ฅ˜๋ฅผ ์ œ๊ฑฐํ•œ ๋’ค, ๋‚ด๊ฐ€ ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ์ˆ˜(N/2)์™€ ๋น„๊ตํ•ด์•ผ ํ•œ๋‹ค.โœ… ์ž๋ฃŒ๊ตฌ์กฐ: ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” set์„ ์‚ฌ์šฉํ•˜์—ฌ ํฌ์ผ“๋ชฌ์˜ ์ข…๋ฅ˜๋ฅผ ํŒŒ์•…ํ•œ๋‹ค.โœ… ๋กœ์ง: ํฌ์ผ“๋ชฌ ์ข…๋ฅ˜์˜ ์ˆ˜(len(set(nums)))๊ฐ€ ๋‚ด๊ฐ€ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์ˆ˜(len(nums) // 2)๋ณด๋‹ค ํฌ๋ฉด N/2๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , ์ž‘์œผ๋ฉด ์ข…๋ฅ˜์˜ ์ˆ˜๋ฅผ ๊ทธ๋Œ€๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.3. ๊ตฌํ˜„ ์ฝ”..

[Programmers/์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณ ๋“์  KIT] ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜

[Programmers] ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜Level 1 | #ํ•ด์‹œ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ ๐Ÿ”—1. ๋ฌธ์ œ ์š”์•ฝ์ˆ˜๋งŽ์€ ๋งˆ๋ผํ†ค ์„ ์ˆ˜๋“ค์ด ๋งˆ๋ผํ†ค์— ์ฐธ์—ฌํ•˜์˜€๋‹ค. ๋‹จ ํ•œ ๋ช…์˜ ์„ ์ˆ˜๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ๋ชจ๋“  ์„ ์ˆ˜๊ฐ€ ๋งˆ๋ผํ†ค์„ ์™„์ฃผํ•˜์˜€๋‹ค.์ฐธ๊ฐ€์ž ๋ช…๋‹จ(participant)๊ณผ ์™„์ฃผ์ž ๋ช…๋‹จ(completion)์ด ์ฃผ์–ด์งˆ ๋•Œ, ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜์˜ ์ด๋ฆ„์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.2. ์ ‘๊ทผ ๋ฐฉ์‹ ๋ฐ ํฌ์ธํŠธ์ฐธ๊ฐ€์ž ์ค‘ ๋™๋ช…์ด์ธ์ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด ํ•ต์‹ฌ์ด๋‹ค. ๋‹จ์ˆœํžˆ ์กด์žฌ ์—ฌ๋ถ€๋งŒ ์ฒดํฌํ•ด์„œ๋Š” ์•ˆ ๋˜๋ฉฐ, ๊ฐ ์ด๋ฆ„๋ณ„ ์ธ์›์ˆ˜๋ฅผ ๊ด€๋ฆฌํ•ด์•ผ ํ•œ๋‹ค.โœ… ์ž๋ฃŒ๊ตฌ์กฐ: Python์˜ dict(Hash Table)๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ด๋ฆ„๋ณ„ ์ธ์›์ˆ˜๋ฅผ ์ €์žฅํ•œ๋‹ค.โœ… ์‹œ๊ฐ„ ๋ณต์žก๋„: O(n) ์ด๋‚ด์— ํ•ด๊ฒฐํ•ด์•ผ ํ•œ๋‹ค. participant์™€ completion์„ ๊ฐ๊ฐ ํ•œ ๋ฒˆ์”ฉ ์ˆœํšŒํ•˜๋ฏ€๋กœ O(n..

[Programmers] L2. ๋ฉ€๋ฆฌ ๋›ฐ๊ธฐ (Python)

[๋ฌธ์ œ ๋งํฌ] ๐Ÿ‘‡ ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.krSolutiondef solution(n): dp = [0] * (n + 1) dp[0] = 1 dp[1] = 2 for i in range(2, n): dp[i] = dp[i - 2] + dp[i - 1] return dp[n - 1] % 1234567

[BOJ] 1303. ์ „์Ÿ - ์ „ํˆฌ (Python/๊ทธ๋ž˜ํ”„ํƒ์ƒ‰/Silver 1)

[๋ฌธ์ œ ๋งํฌ] ๐Ÿ‘‰ https://www.acmicpc.net/problem/1303ํ’€์ด ๋ฐฉ๋ฒ•๐Ÿ’ก DFS, BFS ์ด์šฉ ๐Ÿ“Œ ์ฃผ์˜ํ•  ์ ๊ฐ€๋กœ, ์„ธ๋กœ ํ™•์ธํ•˜๊ฐ€Solutionfrom collections import dequedx = [1, 0, -1, 0]dy = [0, -1, 0, 1]N, M = map(int, input().split())war = [input().strip() for _ in range(M)]visited = [[0] * N for _ in range(M)]W, B = 0, 0def dfs(i, j, color): cnt = 1 visited[i][j] = 1 queue = deque() queue.append((i, j)) while queue: ..

[Programmers] L1. ์นด๋“œ ๋ญ‰์น˜ (Python)

[๋ฌธ์ œ ๋งํฌ] ๐Ÿ‘‡  ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.krํ’€์ด ๋ฐฉ๋ฒ•๐Ÿ’กQueue ์ด์šฉcards1์™€ cards2๋ฅผ ๊ฐ๊ฐ ํ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜์—ฌ, ์•ž์—์„œ๋ถ€ํ„ฐ ๋‹จ์–ด๋ฅผ ๊บผ๋ƒ„goal ๋ฐฐ์—ด์˜ ๊ฐ ๋‹จ์–ด์— ๋Œ€ํ•ดํ•ด๋‹น ๋‹จ์–ด๊ฐ€ cards1์˜ ๋งจ ์•ž์— ์žˆ๋‹ค๋ฉด cards1์—์„œ ์ œ๊ฑฐ๊ทธ๋ ‡์ง€ ์•Š๊ณ  cards2์˜ ๋งจ ์•ž์— ์žˆ๋‹ค๋ฉด cards2์—์„œ ์ œ๊ฑฐ๋‘ ๊ณณ ๋ชจ๋‘์— ์—†๋‹ค๋ฉด "No"๋ฅผ ๋ฐ˜ํ™˜๋ชจ๋“  ๋‹จ์–ด๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ์ฒ˜๋ฆฌํ–ˆ๋‹ค๋ฉด "Yes"๋ฅผ ๋ฐ˜ํ™˜Solutionfrom collections import dequedef solution(cards1, cards2, goal): answer = "Yes" cards1 = deque(car..

[Programmers] L1. ์ถ”์–ต ์ ์ˆ˜ (Python)

[๋ฌธ์ œ ๋งํฌ] ๐Ÿ‘‡  ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.krํ’€์ด ๋ฐฉ๋ฒ•photo ์—์„œ ํ•œ ํ–‰์”ฉ ๊บผ๋‚ด๊ณ , ํ•ด๋‹น ํ–‰์˜ ์—ด์„ ํ•˜๋‚˜์”ฉ ๊บผ๋‚ด์„œ ์ด๋ฆ„ ๋ฆฌ์ŠคํŠธ์— ์ด๋ฆ„์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์ ์ˆ˜์— ๋ˆ„์ ์‹œํ‚จ๋‹ค.ํ•œ ํ–‰์„ ๋‹ค ๋Œ์•˜์œผ๋ฉด ์ ์ˆ˜๋ฅผ ๊ฒฐ๊ณผ ๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€ํ•œ๋‹ค. Solutiondef solution(name, yearning, photo): answer = [] for i in photo: score = 0 for j in i: if j in name: # ํ•ด๋‹น ์ด๋ฆ„์ด ์žˆ๋Š” ๊ฒฝ์šฐ score += yearning[name.index(j)] ..

[Algorithm] ์ตœ์†Œ ํž™(Min Heap)

์ตœ์†Œ ํž™ ์ตœ์†Œ ํž™(Min Heap)์€ ์ด์ง„ ํŠธ๋ฆฌ ํ˜•ํƒœ์˜ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ, ๋ถ€๋ชจ ๋…ธ๋“œ์˜ ๊ฐ’์ด ํ•ญ์ƒ ์ž์‹ ๋…ธ๋“œ์˜ ๊ฐ’๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ํŠน์„ฑ์„ ๊ฐ–๋Š” ๊ตฌ์กฐ์ด๋‹ค. O(logn)์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋กœ ์‚ฝ์ž…/์‚ญ์ œ ๊ฐ€๋Šฅ์ž‘์€ ๊ฐ’์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌ ๊ฐ€๋ŠฅํŠน์ • ๊ฐ’ ์‚ญ์ œ, ์ž„์˜ ์ธ๋ฑ์Šค ์ ‘๊ทผ์ด ๋น„ํšจ์œจ์ . O(n)์ด ์†Œ์š”๋จํŠน์ง•๋ถ€๋ชจ ≤ ์ž์‹๋ชจ๋“  ๋ถ€๋ชจ ๋…ธ๋“œ์˜ ๊ฐ’์€ ์ž์‹ ๋…ธ๋“œ์˜ ๊ฐ’๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค.๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์ด ๋ฃจํŠธ ๋…ธ๋“œ์— ์œ„์น˜.์™„์ „ ์ด์ง„ ํŠธ๋ฆฌํŠธ๋ฆฌ์˜ ๋ชจ๋“  ๋ ˆ๋ฒจ์ด ๊ฝ‰ ์ฐจ ์žˆ์œผ๋ฉฐ, ๋งˆ์ง€๋ง‰ ๋ ˆ๋ฒจ์€ ์™ผ์ชฝ๋ถ€ํ„ฐ ์ฑ„์›Œ์ ธ์•ผ ํ•จ.ํ™œ์šฉ์ตœ์†Œ ํž™์€ ์ตœ์†Ÿ๊ฐ’์„ ํšจ์œจ์ ์œผ๋กœ ์ฐพ๊ฑฐ๋‚˜ ๊ด€๋ฆฌํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์—์„œ ์œ ์šฉํ•˜๋‹ค.์šฐ์„ ์ˆœ์œ„ ํ ๊ตฌํ˜„์ •๋ ฌ๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ์—์„œ ์ตœ์†Ÿ๊ฐ’ ์ถ”์ถœ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆผ์—์„œ k๋ฒˆ์งธ ์ž‘์€ ๊ฐ’ ์œ ์ง€ ์—ฐ์‚ฐ์‚ฝ์ž… O(logโกn) ์ƒˆ ๋ฐ์ดํ„ฐ๋ฅผ ํŠธ๋ฆฌ์˜ ๊ฐ€์žฅ ์•„๋ž˜(์™ผ์ชฝ๋ถ€ํ„ฐ ์ฑ„์›€)์—..

[Programmers] L1. ๋ช…์˜ˆ์˜ ์ „๋‹น (์ตœ์†Œ ํž™/Python)

[๋ฌธ์ œ ๋งํฌ] ๐Ÿ‘‡ ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.krํ’€์ด ๋ฐฉ๋ฒ•1๏ธโƒฃ ๋ช…์˜ˆ์˜ ์ „๋‹น ์œ ์ง€๋ช…์˜ˆ์˜ ์ „๋‹น์€ k ๊ฐœ์˜ ์ ์ˆ˜๋ฅผ ์œ ์ง€ํ•˜๋ฉฐ, kkk๊ฐœ๋ฅผ ์ดˆ๊ณผํ•˜๋ฉด ๊ฐ€์žฅ ๋‚ฎ์€ ์ ์ˆ˜๋ฅผ ์ œ๊ฑฐ์šฐ์„ ์ˆœ์œ„ ํ(์ตœ์†Œ ํž™)๋ฅผ ํ™œ์šฉํ•˜๋ฉด ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌ ๊ฐ€๋Šฅ2๏ธโƒฃ ์ตœํ•˜์œ„ ์ ์ˆ˜ ์ถ”์ถœ๋งค๋ฒˆ ๋ช…์˜ˆ์˜ ์ „๋‹น์—์„œ ์ตœํ•˜์œ„ ์ ์ˆ˜๋ฅผ ํ™•์ธํ•˜์—ฌ ๊ธฐ๋ก3๏ธโƒฃ ์ ์ˆ˜ ์ฒ˜๋ฆฌ์ ์ˆ˜๋ฅผ ํ•˜๋‚˜์”ฉ ์ถ”๊ฐ€ํ•˜๋ฉฐ ๋ช…์˜ˆ์˜ ์ „๋‹น์„ ์—…๋ฐ์ดํŠธ๋ช…์˜ˆ์˜ ์ „๋‹น์ด ๊ฐ€๋“ ์ฐจ๋ฉด ์ตœ์ € ์ ์ˆ˜์™€ ๋น„๊ต ํ›„ ๋Œ€์ฒดSolution์ตœ์†Œ ํž™ ๊ตฌํ˜„import heapqdef solution(k, score): hall_of_fame = [] # ๋ช…์˜ˆ์˜ ์ „๋‹น (์ตœ์†Œ ํž™) result = [] f..

[Programmers] L2. ๊ทค ๊ณ ๋ฅด๊ธฐ (Greedy/Python)

[๋ฌธ์ œ ๋งํฌ] ๐Ÿ‘‡ ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.krํ’€์ด ๋ฐฉ๋ฒ•1๏ธโƒฃ ๊ทค์˜ ์ข…๋ฅ˜๋ณ„ ๊ฐœ์ˆ˜ ํŒŒ์•…๊ทค์˜ ํฌ๊ธฐ๋ณ„๋กœ ๋ช‡ ๊ฐœ์”ฉ ์žˆ๋Š” ๊ฐœ์ˆ˜๋ฅผ ์„ผ๋‹ค. (Counter() ํ•จ์ˆ˜ ์ด์šฉ)from collections import Countertangerine = [1, 3, 2, 3, 2, 4, 4, 4, 4]print(Counter(tangerine))์ถœ๋ ฅ ๊ฒฐ๊ณผ : Counter({4: 4, 3: 2, 2: 2, 1: 1})2๏ธโƒฃ ๊ฐœ์ˆ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ๊ทค์˜ ๊ฐœ์ˆ˜๋ฅผ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค. ์ด๋Š” ๊ฐœ์ˆ˜๊ฐ€ ๋งŽ์€ ์ข…๋ฅ˜๋ถ€ํ„ฐ ์„ ํƒํ•˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค.์œ„ ์˜ˆ์‹œ์—์„œ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋ฉด [(4, 4), (3, 2), (2, 2)..

[Algorithm] Two-Pointers(ํˆฌ ํฌ์ธํ„ฐ)

ํˆฌ ํฌ์ธํ„ฐ๋ฐฐ์—ด์ด๋‚˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ํƒ์ƒ‰ํ•  ๋•Œ, ๋‘ ๊ฐœ์˜ ํฌ์ธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํšจ์œจ์ ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ธฐ๋ฒ•์ด๋‹ค. ์ฃผ๋กœ ์ •๋ ฌ๋œ ๋ฐฐ์—ด์—์„œ ํŠน์ • ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๊ฐ’์„ ์ฐพ๊ฑฐ๋‚˜, ๊ตฌ๊ฐ„ ํ•ฉ์„ ๊ณ„์‚ฐํ•˜๋Š” ๋ฌธ์ œ ๋“ฑ์— ์‚ฌ์šฉ๋œ๋‹ค.ํšจ์œจ์  : ์ •๋ ฌ๋œ ๋ฐฐ์—ด์—์„œ ํƒ์ƒ‰ ์‹œ O(n) ์œผ๋กœ ํ•ด๊ฒฐ ๊ฐ€๋Šฅ๊ฐ„๋‹จํ•œ ๊ตฌํ˜„ : ํฌ์ธํ„ฐ ์ด๋™๋งŒ์œผ๋กœ ๋ฌธ์ œ ํ•ด๊ฒฐ ํˆฌ ํฌ์ธํ„ฐ ๊ฐœ๋…ํฌ์ธํ„ฐ(Pointer) : ๋ฐฐ์—ด์˜ ํŠน์ • ์ธ๋ฑ์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ณ€์ˆ˜๋‘ ๊ฐœ์˜ ํฌ์ธํ„ฐ๋ฅผ ๋ฐฐ์—ด์˜ ์–‘ ๋ ๋˜๋Š” ํŠน์ • ์‹œ์ž‘์ ๊ณผ ๋์ ์— ๋‘๊ณ , ํฌ์ธํ„ฐ๋ฅผ ์ด๋™์‹œํ‚ค๋ฉฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ ์‚ฌ์šฉ ์กฐ๊ฑด๋ฐฐ์—ด์ด ์ •๋ ฌ๋œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์„ ๋•ŒํŠน์ • ๊ตฌ๊ฐ„์ด๋‚˜ ๋‘ ๊ฐ’์˜ ํ•ฉ์„ ๊ณ„์‚ฐํ•  ๋•Œ ํšจ์œจ์ ์œผ๋กœ ํƒ์ƒ‰ํ•  ํ•„์š”๊ฐ€ ์žˆ์„ ๋•Œ ๋Œ€ํ‘œ์ ์ธ ๋™์ž‘ ๋ฐฉ์‹์‹œ์ž‘๊ณผ ๋ ํฌ์ธํ„ฐ ์‚ฌ์šฉ (์–‘ ๋์—์„œ ์ด๋™)๋ฐฐ์—ด์˜ ๊ฐ€์žฅ ์™ผ์ชฝ๊ณผ ์˜ค๋ฅธ์ชฝ ๋์— ํฌ์ธํ„ฐ๋ฅผ ๋‘” ๋’ค, ์กฐ๊ฑด์—..

[Programmers] L2. ๊ตฌ๋ช…๋ณดํŠธ (Python/ํˆฌ ํฌ์ธํ„ฐ)

[๋ฌธ์ œ ๋งํฌ] ๐Ÿ‘‡ ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.krํ’€์ด ๋ฐฉ๋ฒ•1๏ธโƒฃ ์ •๋ ฌ  (O(nlogโกn)์‹œ๊ฐ„) ์‚ฌ๋žŒ๋“ค์˜ ๋ชธ๋ฌด๊ฒŒ ๋ฆฌ์ŠคํŠธ๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค.์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ฐ€์žฅ ๊ฐ€๋ฒผ์šด ์‚ฌ๋žŒ๊ณผ ๊ฐ€์žฅ ๋ฌด๊ฑฐ์šด ์‚ฌ๋žŒ์„ ํšจ์œจ์ ์œผ๋กœ ์ง์ง€์„ ์ˆ˜ ์žˆ๋‹ค.2๏ธโƒฃ ํˆฌ ํฌ์ธํ„ฐ ์‚ฌ์šฉ (O(n) ์‹œ๊ฐ„) ๋ฆฌ์ŠคํŠธ์˜ ๊ฐ€์žฅ ๊ฐ€๋ฒผ์šด ์‚ฌ๋žŒ(์™ผ์ชฝ ํฌ์ธํ„ฐ)๊ณผ ๊ฐ€์žฅ ๋ฌด๊ฑฐ์šด ์‚ฌ๋žŒ(์˜ค๋ฅธ์ชฝ ํฌ์ธํ„ฐ)์„ ํ™•์ธํ•œ๋‹ค.๋‘ ์‚ฌ๋žŒ์˜ ๋ชธ๋ฌด๊ฒŒ ํ•ฉ์ด ๋ณดํŠธ์˜ ๋ฌด๊ฒŒ ์ œํ•œ์„ ์ดˆ๊ณผํ•˜์ง€ ์•Š์œผ๋ฉด, ๋‘ ์‚ฌ๋žŒ์„ ํ•œ ๋ณดํŠธ์— ํƒœ์šด๋‹ค(์–‘์ชฝ ํฌ์ธํ„ฐ๋ฅผ ์ด๋™).3๏ธโƒฃ ํ˜ผ์ž ํƒœ์šฐ๊ธฐ๋‘ ์‚ฌ๋žŒ์˜ ๋ชธ๋ฌด๊ฒŒ ํ•ฉ์ด ๋ฌด๊ฒŒ ์ œํ•œ์„ ์ดˆ๊ณผํ•˜๋ฉด, ๊ฐ€์žฅ ๋ฌด๊ฑฐ์šด ์‚ฌ๋žŒ๋งŒ ๋ณดํŠธ์— ํƒœ์šฐ๊ณ  ์˜ค๋ฅธ์ชฝ ํฌ์ธํ„ฐ๋ฅผ ์ด๋™ํ•œ๋‹ค.4๏ธโƒฃ ..

[BOJ] 2460. ์ง€๋Šฅํ˜• ๊ธฐ์ฐจ 2 (Python/Bronze 3)

[๋ฌธ์ œ ๋งํฌ] ๐Ÿ‘‰ https://www.acmicpc.net/problem/2460ํ’€์ด ๋ฐฉ๋ฒ•๋‚ด๋ฆด ๋•Œ๋Š” ๋นผ๊ณ , ํƒˆ ๋•Œ๋Š” ๋”ํ•œ๋‹ค.๊ทธ๋ฆฌ๊ณ  ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๋ฅผ max() ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์ตœ๋Œ“๊ฐ’์„ ๊ฐฑ์‹ ํ•œ๋‹ค. ์ตœ๋Œ“๊ฐ’ ๊ฐฑ์‹ result = max(result, max_on) Solutionget_off, get_on = [], []for _ in range(10): off, on = map(int, input().split()) get_off.append(off) get_on.append(on)result, max_on = 0, 0for off, on in zip(get_off, get_on): max_on -= off max_on += on result = max(result, max_on)p..

[BOJ] 3460. ์ด์ง„์ˆ˜ (Python/Bronze 3)

[๋ฌธ์ œ ๋งํฌ] ๐Ÿ‘‰ https://www.acmicpc.net/problem/3460ํ’€์ด ๋ฐฉ๋ฒ•1๏ธโƒฃ ์ด์ง„์ˆ˜ ๋ณ€ํ™˜format(int(input()), 'b')๋ณ€ํ™˜ ๊ฒฐ๊ณผ ํƒ€์ž…์€ ์ •์ˆ˜ํ˜•์ด ์•„๋‹Œ str ์ด๋‹ค.2๏ธโƒฃ ๋’ค์ง‘๊ธฐ๋ฌธ์ž์—ด[::-1]์Šฌ๋ผ์ด์‹ฑ์„ ์ด์šฉํ•ด ์ „์ฒด๋ฅผ ํ•œ๋ฒˆ์— ๋’ค์ง‘๋Š”๋‹ค. [[ํŒŒ์ด์ฌ] ์ด์ง„๋ฒ•, ์ด์ง„์ˆ˜, 2์ง„์ˆ˜ ๋ณ€ํ™˜ ๋ฐฉ๋ฒ•] ๐Ÿ”— https://dev-cloud.tistory.com/416SolutionT = int(input()) # ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ˆ˜for test_case in range(1, T + 1): n = format(int(input()), 'b')[::-1] # ์–‘์˜ ์ •์ˆ˜ n -> ์ด์ง„์ˆ˜ ๋ณ€ํ™˜ -> ๋’ค์ง‘๊ธฐ result = [] # ๊ฒฐ๊ณผ๋ฅผ ๋‹ด์„ ๋ฆฌ์ŠคํŠธ for i in ..

[BOJ] 2501. ์•ฝ์ˆ˜ ๊ตฌํ•˜๊ธฐ (Python/Bronze 3)

[๋ฌธ์ œ ๋งํฌ] ๐Ÿ‘‰ https://www.acmicpc.net/problem/2501ํ’€์ด ๋ฐฉ๋ฒ•์•ฝ์ˆ˜ ๊ตฌํ•˜๊ธฐN์˜ ์•ฝ์ˆ˜๋ฅผ ๋ชจ๋‘ ์ฐพ๊ธฐ ์œ„ํ•ด 1๋ถ€ํ„ฐ N์˜ ์ œ๊ณฑ๊ทผ ๊นŒ์ง€์˜ ์ˆ˜ i๋ฅผ ํ™•์ธํ•œ๋‹ค.๋งŒ์•ฝ i๊ฐ€ N์˜ ์•ฝ์ˆ˜๋ผ๋ฉด i ์™€ N / i ๋ฅผ ์•ฝ์ˆ˜ ๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€ํ•œ๋‹ค. ์ด๋•Œ, i์™€ N / i ๊ฐ€ ๊ฐ™์ง€ ์•Š์œผ๋ฉด ์ค‘๋ณต์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ๋‘˜ ๋‹ค ์ถ”๊ฐ€ํ•œ๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด N์ด 36์ผ ๋•Œ, ์•ฝ์ˆ˜๋กœ 6์ด ๋‘ ๋ฒˆ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.์ •๋ ฌ์•ฝ์ˆ˜๋ฅผ ๋ชจ๋‘ ์ฐพ์€ ํ›„, ์ž‘์€ ์ˆœ์„œ๋กœ ์ •๋ ฌํ•˜์—ฌ K๋ฒˆ์งธ ์ž‘์€ ์•ฝ์ˆ˜๋ฅผ ์ฐพ๋Š”๋‹ค.์ถœ๋ ฅ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜๊ฐ€ K ๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๋‹ค๋ฉด, ์ •๋ ฌ๋œ ๋ฆฌ์ŠคํŠธ์—์„œ K ๋ฒˆ์งธ ์•ฝ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜๊ฐ€ K ๋ณด๋‹ค ์ ๋‹ค๋ฉด 0์„ ์ถœ๋ ฅํ•œ๋‹ค.โœ”๏ธ ์ •๋ ฌ ๋ฐฉ๋ฒ•sorted(divisor)๋ฆฌ์ŠคํŠธ ํ˜น์€ ๋ฌธ์ž์—ด ๋“ฑ์„ ๋‚ด์žฅํ•จ์ˆ˜๋กœ ์ด์šฉํ•ด ์ •๋ ฌํ•  ์ˆ˜ ์žˆ๋‹ค.sort()..

[SWEA] 3975. ์Šน๋ฅ  ๋น„๊ตํ•˜๊ธฐ (Python/D3)

[๋ฌธ์ œ ๋งํฌ] ๐Ÿ‘‡ SW Expert AcademySW ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—ญ๋Ÿ‰ ๊ฐ•ํ™”์— ๋„์›€์ด ๋˜๋Š” ๋‹ค์–‘ํ•œ ํ•™์Šต ์ปจํ…์ธ ๋ฅผ ํ™•์ธํ•˜์„ธ์š”!swexpertacademy.comํ’€์ด ๋ฐฉ๋ฒ•๐Ÿ’ก ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋งˆ๋‹ค ์ถœ๋ ฅํ•˜์ง€ ๋ง๊ณ  ๊ฒฐ๊ณผ๋ฅผ ๋ชจ์•„์„œ ํ•œ๋ฒˆ์— ์ถœ๋ ฅํ•˜๊ธฐ (์‹œ๊ฐ„ ์ดˆ๊ณผ ๋ฌธ์ œ) ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ๋ฒˆํ˜ธ์™€ ํ•จ๊ป˜ ๋ฆฌ์ŠคํŠธ์— ๋‹ด๋Š” ๋ฐฉ๋ฒ•results.append(f"#{test_case} DRAW") ์ €์žฅํ•œ ๊ฒฐ๊ณผ๋ฅผ ๊ฐœํ–‰๋ฌธ์ž์™€ ํ•จ๊ป˜ ์ถœ๋ ฅํ•˜๋Š” ๋ฐฉ๋ฒ•print("\n".join(results))SolutionT = int(input()) # ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ˆ˜results = [] # ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•  ๋ฆฌ์ŠคํŠธfor test_case in range(1, T + 1): A, B, C, D = map(int, input().split()) al..