๐ŸŽ’ ๊ณต๋ถ€/๐Ÿ‘Š ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ Kotlin ํ’€์ด

๐ŸŽ’ ๊ณต๋ถ€/๐Ÿ‘Š ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ Kotlin ํ’€์ด

๋ฐฑ์ค€ ๊ผฌ์ธ ์ „๊นƒ์ค„ - boj1365

1365๋ฒˆ: ๊ผฌ์ธ ์ „๊นƒ์ค„ ์ฒซ ์ค„์— ์ „๋ด‡๋Œ€์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 100,000)์ด ์ฃผ์–ด์ง€๊ณ , ์ด์–ด์„œ N๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜๊ฐ€ N๊ฐœ ์ฃผ์–ด์ง„๋‹ค. i๋ฒˆ์งธ ์ค„์— ์ž…๋ ฅ๋˜๋Š” ์ž์—ฐ์ˆ˜๋Š” ๊ธธ ์™ผ์ชฝ์— i๋ฒˆ์งธ ์ „๋ด‡๋Œ€์™€ ์—ฐ๊ฒฐ๋œ ๊ธธ ์˜ค๋ฅธํŽธ์˜ ์ „๋ด‡๋Œ€๊ฐ€ www.acmicpc.net ์•ˆ๋…•ํ•˜์„ธ์š”. ๋ฐฑ์ค€์˜ ๊ผฌ์ธ ์ „๊นƒ์ค„ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ตœ์žฅ ์ฆ๊ฐ€ ์ˆ˜์—ด์˜ ๊ธธ์ด๋ฅผ ์šฐ์•„ํ•˜๊ฒŒ ๋Œ๋ ค๋Œ๋ ค ๋ฌผ์–ด๋ณด๋Š” ๋ฌธ์ œ์—์š”. ์ด ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ๋งŒ ํ•ด๋„ LIS์˜ ๊ธธ์ด ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ DP, ์ฆ‰ O(N^2)์ธ ๋ฐฉ๋ฒ•๋งŒ ์•Œ๊ณ  ์žˆ์—ˆ์–ด์„œ 10๋งŒ...์ด๋ผ๋Š” ์ž…๋ ฅ๊ฐ’์„ ๋ณด๊ณ  ๋ญ”๊ฐ€ ์ด์ƒํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณฑ์…ˆ์ด ํ—ท๊ฐˆ๋ ค์„œ ๊ณ„์‚ฐ๊ธฐ๋กœ 10๋งŒ*10๋งŒ์„ ํ•ด ๋ดค์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ชป ํ‘ธ๋Š” ๋ฌธ์ œ๋‹ค ์‹ถ์–ด ํ˜ธ๋‹ค๋‹ฅ ๊ตฌ๊ธ€๋ง์œผ๋กœ ์ •๋‹ต ํ’€์ด๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทผ๋ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์•Œ๊ณ  ๋‚˜๋‹ˆ ์ œ๋ฒ• ์‰ฌ์šด ๋ฌธ์ œ์˜€์–ด..

๐ŸŽ’ ๊ณต๋ถ€/๐Ÿ‘Š ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ Kotlin ํ’€์ด

๋ฐฑ์ค€ ํ‘œํšŒ์ „ - boj2932

2932๋ฒˆ: ํ‘œ ํšŒ์ „ ์ƒ๊ทผ์ด๋Š” N×N ํ‘œ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. ํ‘œ์—๋Š” 1๋ถ€ํ„ฐ N2๊นŒ์ง€์˜ ์ˆ˜๊ฐ€ ํ–‰ ์šฐ์„  ์ˆœ์„œ(row-major order)์— ๋”ฐ๋ผ ์“ฐ์—ฌ์ ธ ์žˆ๋‹ค. ํ‘œ๊ฐ€ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์—ฐ์‚ฐ์€ ์•„๋ž˜์™€ ๊ฐ™์ด ๋‘ ๊ฐ€์ง€์ด๋‹ค. ํ–‰์„ ํšŒ์ „์‹œํ‚จ๋‹ค - ํ•œ ํ–‰์„ ๊ณจ๋ผ www.acmicpc.net ๋ฐฑ์ค€์˜ ํ‘œ ํšŒ์ „ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ...๋ถ„๋ช… ํ’€์—ˆ์„ ๋•Œ๋Š” ์‹ค๋ฒ„ 3์ด์—ˆ๋˜ ๊ฒƒ ๊ฐ™์€๋ฐ ์‹ค๋ฒ„ 2๊ฐ€ ๋˜์—ˆ๋„ค์š”. ์‚ฌ์‹ค ๋ฐ˜๋…„ ์ „์— ํ‘ผ ๋ฌธ์ œ์ธ๋ฐ ์•„์ง๋„ ํ’€์ด๋ฐฉ๋ฒ•์„ ์žŠ์„ ์ˆ˜ ์—†๋Š”... ๊ทธ๋Ÿฐ ๋งค์ฝคํ•œ ์ถ”์–ต์ด ์žˆ๋Š” ๋ฌธ์ œ๋ž๋‹ˆ๋‹ค. ์ œ์ถœ 300, ์ •๋‹ต 98, ๋งžํžŒ ์‚ฌ๋žŒ 73์œผ๋กœ ์ •๋‹ต ๋น„์œจ์ด 35%์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋ฐฑ์ค€์—์„œ ๋งžํžŒ ์‚ฌ๋žŒ 200๋ช… ์•ˆ๋„˜์œผ๋ฉด ํ‹ฐ์–ด๋ฅผ ๋ฏฟ์œผ์‹œ๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ๋ณดํ†ต ๊ณ ์ˆ˜๋“ค์ด ์ƒˆ๋กœ์šด ๋ฌธ์ œ ๋‚˜์™”๋‹ค๊ณ  ์ฐ๋จนํ•ด๋ณด๊ฑฐ๋‚˜ ์•„๋ฌด๊ฒƒ๋„ ๋ชจ๋ฅด๋Š” ๋‰ด๋น„๋“ค์ด ๋žœ๋ค๋ฝ‘๊ธฐ๋กœ ํ’€๊ฒŒ..

๐ŸŽ’ ๊ณต๋ถ€/๐Ÿ‘Š ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ Kotlin ํ’€์ด

๋ฐฑ์ค€ N๊ณผ M (9) - boj15663

15663๋ฒˆ: N๊ณผ M (9) ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ๋ฌธ์ œ์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์ˆ˜์—ด์„ ์ถœ๋ ฅํ•œ๋‹ค. ์ค‘๋ณต๋˜๋Š” ์ˆ˜์—ด์„ ์—ฌ๋Ÿฌ ๋ฒˆ ์ถœ๋ ฅํ•˜๋ฉด ์•ˆ๋˜๋ฉฐ, ๊ฐ ์ˆ˜์—ด์€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์ถœ๋ ฅํ•ด์•ผ ํ•œ๋‹ค. ์ˆ˜์—ด์€ ์‚ฌ์ „ ์ˆœ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆœ์„œ๋กœ ์ถœ๋ ฅํ•ด www.acmicpc.net ๋ฐฑ์ค€์˜ N๊ณผ M ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ์‹œ๋ฆฌ์ฆˆ์—์š”. ๋ฌธ์ œํ’€์ด ๋ฐฉ๋ฒ•์„ ์ž˜๋ชป ์ ‘๊ทผํ–ˆ๋Š”๋ฐ ๊ทธ ๊ณผ์ •์—์„œ ์žฌ๋ฏธ์žˆ๋Š” ์‚ฌ์‹ค์„ ๋ฐœ๊ฒฌํ•ด์„œ ํฌ์ŠคํŒ…ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ ์„ค๋ช… ๋ฌธ์ œ N๊ฐœ์˜ ์ž์—ฐ์ˆ˜์™€ ์ž์—ฐ์ˆ˜ M์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์•„๋ž˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๊ธธ์ด๊ฐ€ M์ธ ์ˆ˜์—ด์„ ๋ชจ๋‘ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. N๊ฐœ์˜ ์ž์—ฐ์ˆ˜ ์ค‘์—์„œ M๊ฐœ๋ฅผ ๊ณ ๋ฅธ ์ˆ˜์—ด ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— N๊ณผ M์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ M ≤ N ≤ 8) ๋‘˜์งธ ์ค„์— N๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ์ˆ˜๋Š” 10,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜..

๐ŸŽ’ ๊ณต๋ถ€/๐Ÿ‘Š ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ Kotlin ํ’€์ด

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - Lv2. ํ›„๋ณดํ‚ค Kotlin

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

๐ŸŽ’ ๊ณต๋ถ€/๐Ÿ‘Š ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ Kotlin ํ’€์ด

์ฒซ ๊ธ€

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด ์นดํ…Œ๊ณ ๋ฆฌ์˜ ์ฒซ ๊ธ€ ์ž…๋‹ˆ๋‹ค. ๊ทธ๋™์•ˆ ๋ธ”๋กœ๊ทธ์— ํšŒ๊ณ ๋‚˜ ๊ถ๊ธˆํ–ˆ๋˜ ๋‚ด์šฉ ๊ณต๋ถ€ํ•œ ๊ฒƒ๋งŒ ์˜ฌ๋ฆด ์ƒ๊ฐ์„ ํ–ˆ์—ˆ๋„ค์š”... ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด๋ฅผ ์˜ฌ๋ ค๋ณด๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์„ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ์•ž์œผ๋กœ ๊ธฐ๋กํ•  ๋งŒํ•œ ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด ์˜ฌ๋ ค๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ฌธ์ œ๋Š” Kotlin์œผ๋กœ ํ’€์ด๋˜์–ด ์˜ฌ๋ผ๊ฐ‘๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์—์„œ Java๋งŒ ์ง€์›ํ•˜๋Š” ๋ฌธ์ œ๋Š” Java๋กœ ์˜ฌ๋ผ๊ฐˆ ์ˆ˜๋„ ์žˆ์–ด์š”. ๋ชจ๋“  ์ฝ”๋”ฉํ…Œ์ŠคํŠธ์—์„œ Kotlin์„ ์ง€์›ํ•˜๋Š” ๊ทธ๋‚ ๊นŒ์ง€ ํ™”์ดํŒ…...!

dev_sia
'๐ŸŽ’ ๊ณต๋ถ€/๐Ÿ‘Š ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ Kotlin ํ’€์ด' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก