[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ฐฉ๋ฌธ ๊ธธ์ด/Python - Lv.2
ยท
Coding Test/Algorithms
โ“๋ฌธ์ œhttps://school.programmers.co.kr/learn/courses/30/lessons/49994 ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก์˜ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr๋ฌธ์ œ ์„ค๋ช…๊ฒŒ์ž„ ์บ๋ฆญํ„ฐ๋ฅผ 4๊ฐ€์ง€ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์›€์ง์ด๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๋ช…๋ น์–ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.U: ์œ„์ชฝ์œผ๋กœ ํ•œ ์นธ ๊ฐ€๊ธฐD: ์•„๋ž˜์ชฝ์œผ๋กœ ํ•œ ์นธ ๊ฐ€๊ธฐR: ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํ•œ ์นธ ๊ฐ€๊ธฐL: ์™ผ์ชฝ์œผ๋กœ ํ•œ ์นธ ๊ฐ€๊ธฐ์บ๋ฆญํ„ฐ๋Š” ์ขŒํ‘œํ‰๋ฉด์˜ (0, 0) ์œ„์น˜์—์„œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ขŒํ‘œํ‰๋ฉด์˜ ๊ฒฝ๊ณ„๋Š” ์™ผ์ชฝ ์œ„(-5, 5), ์™ผ์ชฝ ์•„๋ž˜(-5, -5), ์˜ค๋ฅธ์ชฝ ์œ„(5, 5), ์˜ค๋ฅธ์ชฝ ์•„๋ž˜(5, -5)๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.์ด๋•Œ, ์šฐ๋ฆฌ๋Š” ๊ฒŒ์ž„ ์บ๋ฆญํ„ฐ๊ฐ€ ์ง€๋‚˜๊ฐ„ ๊ธธ ์ค‘ ์บ๋ฆญํ„ฐ๊ฐ€ ์ฒ˜์Œ ๊ฑธ์–ด๋ณธ ๊ธธ์˜ ๊ธธ..
[๋ฐฑ์ค€] 11401. ์ดํ•ญ ๊ณ„์ˆ˜ 3/Python - Gold1
ยท
Coding Test/Algorithms
โ“๋ฌธ์ œhttps://www.acmicpc.net/problem/11401์„ฑ๋Šฅ ์š”์•ฝ๋ฉ”๋ชจ๋ฆฌ: 32412 KB, ์‹œ๊ฐ„: 872 ms๋ฌธ์ œ ์„ค๋ช…์ž์—ฐ์ˆ˜ N๊ณผ ์ •์ˆ˜ K๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ ์ดํ•ญ ๊ณ„์ˆ˜ (N K)๋ฅผ 1,000,000,007๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.โœ๐Ÿปํ’€์ดํŽ˜๋ฅด๋งˆ์˜ ์†Œ์ •๋ฆฌ๋ฅผ ์ด์šฉํ•ด์•ผ์ง€ ํ’€๋ฆฌ๋Š” ๋ฌธ์ œ์ด๋‹ค.ํŽ˜๋ฅด๋งˆ์˜ ์†Œ์ •๋ฆฌ๋Š” MOD๊ฐ€ ์†Œ์ˆ˜์ผ ๋•Œ a^p = a % p๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ์–‘๋ณ€์„ a²์œผ๋กœ ๋‚˜๋ˆ„๋ฉด a^(p-2) = 1 / a % p๊ฐ€ ๋œ๋‹ค.๐Ÿ’ป์ฝ”๋“œimport sysinput = sys.stdin.readlineMOD = 1000000007def fact(N): if N ๐Ÿ“ํ›„๊ธฐ๋ถ„ํ• ์ •๋ณต ๋ฌธ์ œ๋ผ๊ณ  ํ•ด์„œ ํŒŒ์Šค์นผ ์‚ผ๊ฐ์ •๋ฆฌ ์ƒ๊ฐํ•ด์„œ ์ž‘์„ฑํ–ˆ๋Š”๋ฐ ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ณผ ... ใ…Žใ…Ž์—ญ์‹œ ๊ณจ๋“œ ๋ฌธ์ œ๋Š” ๋‹ค๋ฅด๋‹ค...
[๋ฐฑ์ค€] 1158. ์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ/Python - Silver4
ยท
Coding Test/Algorithms
โ“๋ฌธ์ œhttps://www.acmicpc.net/problem/1158์„ฑ๋Šฅ ์š”์•ฝ๋ฉ”๋ชจ๋ฆฌ: 35052 KB, ์‹œ๊ฐ„: 2588 ms๋ถ„๋ฅ˜์ž๋ฃŒ ๊ตฌ์กฐ, ๊ตฌํ˜„, ํ ๋ฌธ์ œ ์„ค๋ช…์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.1๋ฒˆ๋ถ€ํ„ฐ N๋ฒˆ๊นŒ์ง€ N๋ช…์˜ ์‚ฌ๋žŒ์ด ์›์„ ์ด๋ฃจ๋ฉด์„œ ์•‰์•„์žˆ๊ณ , ์–‘์˜ ์ •์ˆ˜ K(≤ N)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด์ œ ์ˆœ์„œ๋Œ€๋กœ K๋ฒˆ์งธ ์‚ฌ๋žŒ์„ ์ œ๊ฑฐํ•œ๋‹ค. ํ•œ ์‚ฌ๋žŒ์ด ์ œ๊ฑฐ๋˜๋ฉด ๋‚จ์€ ์‚ฌ๋žŒ๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ์›์„ ๋”ฐ๋ผ ์ด ๊ณผ์ •์„ ๊ณ„์†ํ•ด ๋‚˜๊ฐ„๋‹ค. ์ด ๊ณผ์ •์€ N๋ช…์˜ ์‚ฌ๋žŒ์ด ๋ชจ๋‘ ์ œ๊ฑฐ๋  ๋•Œ๊นŒ์ง€ ๊ณ„์†๋œ๋‹ค. ์›์—์„œ ์‚ฌ๋žŒ๋“ค์ด ์ œ๊ฑฐ๋˜๋Š” ์ˆœ์„œ๋ฅผ (N, K)-์š”์„ธํ‘ธ์Šค ์ˆœ์—ด์ด๋ผ๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด (7, 3)-์š”์„ธํ‘ธ์Šค ์ˆœ์—ด์€ ์ด๋‹ค.N๊ณผ K๊ฐ€ ์ฃผ์–ด์ง€๋ฉด (N, K)-์š”์„ธํ‘ธ์Šค ์ˆœ์—ด์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.โœ๐Ÿปํ’€์ด์ด ๋ฌธ์ œ๋Š” ํ๋ฅผ ์ž˜ ์•Œ๋ฉด ๋น ๋ฅด๊ฒŒ ํ’€๋ฆฌ๋Š” ๋ฌธ์ œ์ด๋‹ค. ๋จผ..
[๋ฐฑ์ค€] 1068. ํŠธ๋ฆฌ/Python - Gold5
ยท
Coding Test/Algorithms
โ“๋ฌธ์ œhttps://www.acmicpc.net/problem/1068์„ฑ๋Šฅ ์š”์•ฝ๋ฉ”๋ชจ๋ฆฌ: 34936 KB, ์‹œ๊ฐ„: 64 ms๋ถ„๋ฅ˜๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰, ๊ทธ๋ž˜ํ”„ ์ด๋ก , ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰, ํŠธ๋ฆฌ๋ฌธ์ œ ์„ค๋ช…ํŠธ๋ฆฌ์—์„œ ๋ฆฌํ”„ ๋…ธ๋“œ๋ž€, ์ž์‹์˜ ๊ฐœ์ˆ˜๊ฐ€ 0์ธ ๋…ธ๋“œ๋ฅผ ๋งํ•œ๋‹ค.ํŠธ๋ฆฌ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋…ธ๋“œ ํ•˜๋‚˜๋ฅผ ์ง€์šธ ๊ฒƒ์ด๋‹ค. ๊ทธ ๋•Œ, ๋‚จ์€ ํŠธ๋ฆฌ์—์„œ ๋ฆฌํ”„ ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋…ธ๋“œ๋ฅผ ์ง€์šฐ๋ฉด ๊ทธ ๋…ธ๋“œ์™€ ๋…ธ๋“œ์˜ ๋ชจ๋“  ์ž์†์ด ํŠธ๋ฆฌ์—์„œ ์ œ๊ฑฐ๋œ๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠธ๋ฆฌ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•˜์ž.ํ˜„์žฌ ๋ฆฌํ”„ ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜๋Š” 3๊ฐœ์ด๋‹ค. (์ดˆ๋ก์ƒ‰ ์ƒ‰์น ๋œ ๋…ธ๋“œ) ์ด๋•Œ, 1๋ฒˆ์„ ์ง€์šฐ๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณ€ํ•œ๋‹ค. ๊ฒ€์ •์ƒ‰์œผ๋กœ ์ƒ‰์น ๋œ ๋…ธ๋“œ๊ฐ€ ํŠธ๋ฆฌ์—์„œ ์ œ๊ฑฐ๋œ ๋…ธ๋“œ์ด๋‹ค.์ด์ œ ๋ฆฌํ”„ ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜๋Š” 1๊ฐœ์ด๋‹ค.โœ๐Ÿปํ’€์ด์ธ์ ‘ ๋ฆฌ์ŠคํŠธ๋‚˜ ์‚ฌ์ „ํ˜•์„ ํ™œ์šฉํ•˜์—ฌ ๊ฐ ๋…ธ๋“œ ๋ณ„ ..
[๋ฐฑ์ค€] 1966. ํ”„๋ฆฐํ„ฐ ํ/Python - Silver3
ยท
Coding Test/Algorithms
โ“๋ฌธ์ œhttps://www.acmicpc.net/problem/1966์„ฑ๋Šฅ ์š”์•ฝ๋ฉ”๋ชจ๋ฆฌ: 34924 KB, ์‹œ๊ฐ„: 68 ms๋ฉ”๋ชจ๋ฆฌ: 32412 KB, ์‹œ๊ฐ„: 52 ms๋ฉ”๋ชจ๋ฆฌ: 32412 KB, ์‹œ๊ฐ„: 48 ms๋ถ„๋ฅ˜์ž๋ฃŒ ๊ตฌ์กฐ, ๊ตฌํ˜„, ํ, ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋ฌธ์ œ ์„ค๋ช…์—ฌ๋Ÿฌ๋ถ„๋„ ์•Œ๋‹ค์‹œํ”ผ ์—ฌ๋Ÿฌ๋ถ„์˜ ํ”„๋ฆฐํ„ฐ ๊ธฐ๊ธฐ๋Š” ์—ฌ๋Ÿฌ๋ถ„์ด ์ธ์‡„ํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฌธ์„œ๋ฅผ ์ธ์‡„ ๋ช…๋ น์„ ๋ฐ›์€ ‘์ˆœ์„œ๋Œ€๋กœ’, ์ฆ‰ ๋จผ์ € ์š”์ฒญ๋œ ๊ฒƒ์„ ๋จผ์ € ์ธ์‡„ํ•œ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฌธ์„œ๊ฐ€ ์Œ“์ธ๋‹ค๋ฉด Queue ์ž๋ฃŒ๊ตฌ์กฐ์— ์Œ“์—ฌ์„œ FIFO - First In First Out - ์— ๋”ฐ๋ผ ์ธ์‡„๊ฐ€ ๋˜๊ฒŒ ๋œ๋‹ค. ํ•˜์ง€๋งŒ ์ƒ๊ทผ์ด๋Š” ์ƒˆ๋กœ์šด ํ”„๋ฆฐํ„ฐ๊ธฐ ๋‚ด๋ถ€ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•˜์˜€๋Š”๋ฐ, ์ด ํ”„๋ฆฐํ„ฐ๊ธฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์กฐ๊ฑด์— ๋”ฐ๋ผ ์ธ์‡„๋ฅผ ํ•˜๊ฒŒ ๋œ๋‹ค.ํ˜„์žฌ Queue์˜ ๊ฐ€์žฅ ์•ž์— ์žˆ๋Š” ๋ฌธ์„œ์˜ ‘์ค‘์š”๋„’๋ฅผ ํ™•์ธ..
[๋ฐฑ์ค€] 2800. ๊ด„ํ˜ธ ์ œ๊ฑฐ/Python - Gold4
ยท
Coding Test/Algorithms
โ“๋ฌธ์ œhttps://www.acmicpc.net/problem/2800์„ฑ๋Šฅ ์š”์•ฝ ๋ฉ”๋ชจ๋ฆฌ: 32412 KB, ์‹œ๊ฐ„: 36 ms๋ถ„๋ฅ˜๋น„ํŠธ๋งˆ์Šคํ‚น, ๋ธŒ๋ฃจํŠธํฌ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์ž๋ฃŒ ๊ตฌ์กฐ, ์Šคํƒ, ๋ฌธ์ž์—ด ๋ฌธ์ œ ์„ค๋ช…์–ด๋–ค ์ˆ˜์‹์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ด„ํ˜ธ๋ฅผ ์ œ๊ฑฐํ•ด์„œ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์‹์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.์ด ์ˆ˜์‹์€ ๊ด„ํ˜ธ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ณ์ ธ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, 1+2, (3+4), (3+4*(5+6))์™€ ๊ฐ™์€ ์‹์€ ๊ด„ํ˜ธ๊ฐ€ ์„œ๋กœ ์Œ์ด ๋งž์œผ๋ฏ€๋กœ ์˜ฌ๋ฐ”๋ฅธ ์‹์ด๋‹ค.ํ•˜์ง€๋งŒ, 1+(2*3, ((2+3)*4 ์™€ ๊ฐ™์€ ์‹์€ ์Œ์ด ๋งž์ง€ ์•Š๋Š” ๊ด„ํ˜ธ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ์˜ฌ๋ฐ”๋ฅธ ์‹์ด ์•„๋‹ˆ๋‹ค.๊ด„ํ˜ธ๋ฅผ ์ œ๊ฑฐํ•  ๋•Œ๋Š”, ํ•ญ์ƒ ์Œ์ด ๋˜๋Š” ๊ด„ํ˜ธ๋ผ๋ฆฌ ์ œ๊ฑฐํ•ด์•ผ ํ•œ๋‹ค.์˜ˆ๋ฅผ๋“ค์–ด (2+(2*2)+2)์—์„œ ๊ด„ํ˜ธ๋ฅผ ์ œ๊ฑฐํ•˜๋ฉด, (2+2*2+2), 2+(2*2)+2,..