๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋กํŒŒ์ด์ฌ ์ •๋ ฌ (5)

Hey Tech

๋ฌธ์ž์—ด์ฒ˜๋ฆฌ #๋ฐฑ์ค€1427 #์†ŒํŠธ์ธ์‚ฌ์ด๋“œ | ํŒŒ์ด์ฌ ํ’€์ด

๐Ÿ“š ๋ฌธ์ œ ๋งํฌ: https://www.acmicpc.net/problem/1427 1427๋ฒˆ: ์†ŒํŠธ์ธ์‚ฌ์ด๋“œ ์ฒซ์งธ ์ค„์— ์ •๋ ฌํ•˜๊ณ ์žํ•˜๋Š” ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 1,000,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. www.acmicpc.net ๐Ÿ’ก ์ ‘๊ทผ๋ฒ• ์ž…๋ ฅ๋ฐ›์€ ๋ฌธ์ž์—ด(string) ๊ธฐ๋ฐ˜ ์ˆซ์ž๋ฅผ ๋ฐ˜๋ณต๋ฌธ์„ ํ†ตํ•ด ์ธ๋ฑ์‹ฑํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ ์›์†Œ๋กœ ๋งŒ๋“  ํ›„, sorted ํ•จ์ˆ˜๋กœ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•˜๊ณ  join ํ•จ์ˆ˜๋กœ ๋ฆฌ์ŠคํŠธ ์›์†Œ๋ฅผ ๋ชจ๋‘ ์ด์–ด๋ถ™์ธ ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜ํ•˜์—ฌ ํ•ด๊ฒฐํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๐Ÿ’ป ์ฝ”๋“œ # https://www.acmicpc.net/problem/1427 print("".join(sorted([number for number in input()], reverse=True))) โœ… ์ •๋‹ต ํ™•์ธ ๐Ÿ‘จ‍๐Ÿ’ป ํŒŒ์ด์ฌ ํŒŒ์ผ(Gith..

[ํŒŒ์ด์ฌ] ๋ฆฌ์ŠคํŠธ ๊ด€๋ จ ํ•จ์ˆ˜: append, sort, reverse, insert, count, remove

์•ˆ๋…•ํ•˜์„ธ์š”, ์˜ค๋Š˜์€ ๋ฆฌ์ŠคํŠธ(list) ๋ฐ์ดํ„ฐ ํƒ€์ž…์— ์œ ์šฉํ•œ ํ•จ์ˆ˜๋กœ์„œ append(), sort(), reverse(), insert(), count(), remove()์— ๋Œ€ํ•ด ์†Œ๊ฐœํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๋‚ด์šฉ์ด ๊ฐ„๋‹จํ•˜๋‹ˆ ์•„๋ž˜ ํ‘œ์™€ ์˜ˆ์‹œ๋ฅผ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”! ํ‘œ ์‚ฌ์šฉ๋ชฉ์  ๋ฐ ์„ค๋ช… ๋ฉ”์„œ๋“œ ์‹œ๊ฐ„ ๋ณต์žก๋„ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€(๋งจ ๋’ค์—์„œ๋ถ€ํ„ฐ ์ถ”๊ฐ€) ๋ฆฌ์ŠคํŠธ ์ด๋ฆ„.append(์ถ”๊ฐ€ํ•  ๋ฐ์ดํ„ฐ) \(O(1)\) ๋ฐ์ดํ„ฐ ์ •๋ ฌ(์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ) ๋ฆฌ์ŠคํŠธ ์ด๋ฆ„.sort() \(O(NlogN)\) ๋ฐ์ดํ„ฐ ์ •๋ ฌ(๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ) ๋ฆฌ์ŠคํŠธ ์ด๋ฆ„.sort(reverse = True) \(O(NlogN)\) ๋ฆฌ์ŠคํŠธ ๋‚ด ์›์†Œ ์ˆœ์„œ ๋’ค์ง‘๊ธฐ ๋ฆฌ์ŠคํŠธ ์ด๋ฆ„.reverse() \(O(N)\) ํŠน์ • ์ธ๋ฑ์Šค์— ์›์†Œ ์‚ฝ์ž… ๋ฆฌ์ŠคํŠธ ์ด๋ฆ„.insert(์‚ฝ์ž…ํ•  ์œ„์น˜์˜ ์ธ๋ฑ์Šค, ์‚ฝ์ž…ํ•  ..

SW ๊ฐœ๋ฐœ/Python 2021. 4. 16. 10:16
[์•Œ๊ณ ๋ฆฌ์ฆ˜] ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด ์ „๋žต!

๋ณธ ํฌ์ŠคํŒ…์—์„œ๋Š” ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด ์ „๋žต์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ ์ „๋žต ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด์— ์žˆ์–ด์„œ ํŠน๋ณ„ํžˆ ๋ฌธ์ œ์—์„œ ์š”๊ตฌ์‚ฌํ•ญ์ด ์—†์„ ๊ฒฝ์šฐ, ๋‹จ์ˆœํžˆ ์ •๋ ฌ์ด ํ•„์š”ํ•œ ์ƒํ™ฉ์—์„œ๋Š” ๊ธฐ๋ณธ ๋‚ด์žฅ ์ •๋ ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™œ์šฉํ•˜์‹œ๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ, ๋ฐ์ดํ„ฐ์˜ ๋ฒ”์œ„๊ฐ€ ํ•œ์ •๋˜์–ด ์žˆ๊ณ  ๋”์šฑ ๋น ๋ฅด๊ฒŒ ๋™์ž‘ํ•˜๋„๋ก ๋ฌธ์ œ๋ฅผ ํ’€์–ด์•ผ ํ•œ๋‹ค๋ฉด ๊ณ„์ˆ˜ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ™œ์šฉํ•˜์‹œ๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ด์ฒ˜๋Ÿผ ์•„๋ž˜์— ์ฃผ์–ด์ง„ ์ƒํ™ฉ์— ๋งž๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด ์ „๋žต์„ ์ •๋ฆฌํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. (1) ์ •๋ ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ™œ์šฉ ๋ฌธ์ œ ๋‹จ์ˆœํžˆ ๋‚ด์žฅ ์ •๋ ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•ด ์•Œ๊ณ  ์žˆ๊ณ  ์‚ฌ์šฉํ•  ์ค„ ์•„๋Š”์ง€ ๋ฌป๊ธฐ ์œ„ํ•œ ๋ฌธ์ œ ์œ ํ˜•์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‚ด์žฅ ์ •๋ ฌ ํ•จ์ˆ˜ ์‚ฌ์šฉ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๊ธฐ๋ณธ์ ์ธ ๋ถ€๋ถ„๋“ค์— ๋Œ€ํ•ด ์ˆ™์ง€ํ•˜๊ณ  ์žˆ์œผ๋ฉด ์–ด๋ ต์ง€ ์•Š๊ฒŒ ๋ฌธ์ œ๋ฅผ ํ’€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (..

[ํŒŒ์ด์ฌ] ๋‚ด์žฅ ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•œ ๋ฐ์ดํ„ฐ ์ •๋ ฌํ•˜๊ธฐ! (sorted, sort ํ•จ์ˆ˜)

์˜ค๋Š˜์€ ํŒŒ์ด์ฌ ๋‚ด์žฅ ํ•จ์ˆ˜์ธ sorted()์™€ sort()๋ฅผ ํ™œ์šฉํ•œ ๋ฐ์ดํ„ฐ ์ •๋ ฌ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๊ณต์œ ํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ๋ฐ”๋กœ ์‹œ์ž‘ํ•˜์ฃ ! ๋ชฉ์ฐจ 1. ๊ธฐ๋ณธ ์ •๋ ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ 2. sorted ํ•จ์ˆ˜ 3. sort ํ•จ์ˆ˜ 4. key ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ™œ์šฉํ•œ ์ •๋ ฌ ๊ธฐ์ค€ ์„ค์ • 5. ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ ์ „๋žต 1. ๊ธฐ๋ณธ ์ •๋ ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํŒŒ์ด์ฌ์—๋Š” sorted ๋ฐ sort๋ผ๋Š” ์ •๋ ฌ ํ•จ์ˆ˜๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‚ด์žฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ•จ์ˆ˜๋“ค์€ ๋ฆฌ์ŠคํŠธ, ๋”•์…”๋„ˆ๋ฆฌ, ์ง‘ํ•ฉ ๋“ฑ์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์ž…๋ ฅ๊ฐ’์œผ๋กœ ๋ฐ›๊ณ , ๋ฐ์ดํ„ฐ ํƒ€์ž…์— ์ƒ๊ด€์—†์ด ํ•ญ์ƒ ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ ฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒƒ์ด ํŠน์ง•์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ด ํ•จ์ˆ˜๋“ค์€ ์ตœ์•…์˜ ๊ฒฝ์šฐ์—๋„ O(N*log N) ์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๋ณด์žฅํ•œ๋‹ค๋Š” ๊ฒƒ์ด ํŠน์ง•์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ sorted ํ•จ์ˆ˜์™€ sort ํ•จ์ˆ˜ ๊ฐ๊ฐ์—..

SW ๊ฐœ๋ฐœ/Python 2021. 3. 15. 10:45