-
Kotlin ๐ฌ ๋ฐฑ์ค 14๋จ๊ณ :: 1620 ๋ฒ2024. 3. 3. 21:54๋ฐ์ํ
๋๋์ผ ํฌ์ผ๋ชฌ ๋ง์คํฐ ์ด๋ค์
๋ฌธ์ |
์๋ ? ๋ด ์ด๋ฆ์ ์ด๋ค์. ๋์ ๊ฟ์ ํฌ์ผ๋ชฌ ๋ง์คํฐ์ผ. ์ผ๋จ ํฌ์ผ๋ชฌ ๋ง์คํฐ๊ฐ ๋๊ธฐ ์ํด์ ํฌ์ผ๋ชฌ์ ํ ๋ง๋ฆฌ ์ก์์ผ๊ฒ ์ง? ๊ทผ์ฒ ์ฒ์ผ๋ก ๊ฐ์ผ๊ฒ ์ด.
(๋๋ฒ ๋๋ฒ )
์! ๊ผฌ๋ ์ด๋ค. ๊ผฌ๋ ? ๊ท์ฌ์ด๋ฐ, ๋์ ์ฒซ ํฌ์ผ๋ชฌ์ผ๋ก ๋ฑ ์ด์ธ๋ฆฐ๋ฐ? ๋ด๊ฐ ์ก๊ณ ๋ง๊ฒ ์ด. ๊ฐ๋ผ! ๋ชฌ์คํฐ๋ณผ~
(ํ!) ํ๋ญ... ์ ์ ์กํ์ง?ใ ใ ๋ชฌ์คํฐ ๋ณผ๋ง ๋์ง๋ฉด ๋๋ ๊ฒ ์๋๊ฐ...ใ ใ
(ํฐ๋ฒ ํฐ๋ฒ )
์ด? ๋๊ตฌ์ง?
์ค๋ฐ์ฌ : ๋๋ ํ์ด๋ง์์ ํฌ์ผ๋ชฌ ๋ฐ์ฌ ์ค๋ฏผ์ ๋ฐ์ฌ๋ผ๋ค. ๋ค์์, ํฌ์ผ๋ชฌ์ ์ก์ ๋๋, ์ผ๋จ ์๋ ํฌ์ผ๋ชฌ์ ์ฒด๋ ฅ์ ์ ๋นํ ๋ฐ๋ฅ์ผ๋ก ๋ง๋ค์ด๋๊ณ ๋ชฌ์คํฐ ๋ณผ์ ๋์ ธ์ผ ํ๋จ๋ค. ์, ๋ด ํฌ์ผ๋ชฌ ์ด์ํด๊ฝ์ผ๋ก ํ๋ฒ ์ก์๋ณด๋ ด. ํฌ์ผ๋ชฌ์ ๊ธฐ์ ์ ์ฐ๋ ๊ฒ์ ๋ณด๊ณ ํฌ์ผ๋ชฌ์ ์ค์ง ์์ค์ง ๊ฒฐ์ ์ ํ๊ฒ ๋ค. ์ ํ๋ฒ ํด๋ณด์๋ผ. ๋ค์์.
์ด๋ค์ : ์ด์ํด๊ฝ์ด๋ผ...์.. ๊ฝ์ด๋๊น ์ ์ง ํ๋น์ ๋ฐ์์ ๊ณต๊ฒฉ์ ํ ๊ฒ ๊ฐ์๋ฐ... ์... ์ด์ํด๊ฝ! ํ๋น๊ณต๊ฒฉ!!!
(๊ผฌ๋ ์ด ์ด์ํด๊ฝ์๊ฒ ๊ณต๊ฒฉ์ ๋ฐ์ ์ฒด๋ ฅ์ด 25 ๊ฐ์ํ๋ค.) ๊ฐ๋ผ! ๋ชฌ์คํฐ ๋ณผ!!! (๊ผฌ๋ ์ ์ก์์ต๋๋ค.) ์ผํธ! ์ ๋๋ค. ๊ผฌ๋ ์ ์ก์๋ค.
์ค๋ฐ์ฌ : ์ค์ฐ!! ๋ฐฉ๊ธ ์ด ๊ณต๊ฒฉ์ ์๋ผ๋น์ด๋ผ๊ณ ํ๋ค.. ์ด๋ป๊ฒ ๊ณต๊ฒฉ์ ํ ๊ฑด๊ฐ? ์๋ผ๋น์ด๋ ๊ณต๊ฒฉ์ ๋ํด์ ๊ณต๋ถ๋ฅผ ํ ๊ฑด๊ฐ?
์ด๋ค์ : ๊ฝ์ด๋๊น ์ ์ง ํ๋น์ ์ ๋๋ก ๋ฐ์ผ๋ฉด ๊ดํฉ์ฑ์ ํด์ ์.. ๊ทธ๋ฅ ๊ทธ๋ด ๊ฒ ๊ฐ์์์ โโ
์ค๋ฐ์ฌ : ๋ค๋ฅธ ์์ด๋ค์ ๋์ฟจ์ฑ์ฐ์ด๋, ๋๋ญ์ ๊ณต๊ฒฉ์ ํ๋๋ฐ, ๋ค์์ด๋ ์ญ์ ๋ญ๊ฐ ๋ค๋ฅด๊ตฌ๋. ๊ทธ๋ผ ๋์ ํจ๊ป ์ฐ๊ตฌ์๋ก ๊ฐ์๊พธ๋. ๋ด๊ฐ ํฌ์ผ๋ชฌ์ ํ ๋ง๋ฆฌ ์ค ํ ๋, ๋์ ๊ฟ์ ํผ์ณ๋ณด์๋ผ. ๊ฟ์ ์ด๋ฃจ์ด์ง๋จ๋ค.
์ด๋ค์ : ๋ค! ์ค๋ฐ์ฌ๋, ๊ณ ๋ง์์.ใ ใ
์ค๋ฐ์ฌ : ๊ฐ์. ๋์ ์ฐ๊ตฌ์๋ ๋์ ์์ง์ ์๋ซ์ง์ด๋๋ค. ๊ฐ์ด ๊ฐ๋๋กํ์. ์ง๊ธ ํฌ์ผ๋ชฌ์ ์ฃผ๋ง.
์ด๋ค์ : ๋ค. ์ผํธ!!
์ค์์ : ์ด? ์ค๋ฐ์ฌ๋ ์๋ ๋๊ตฌ์ธ๊ฐ์?
์ค๋ฐ์ฌ : ์๋ ๋์ ๋ผ์ด๋ฒ์ด ๋ ์น๊ตฌ ์ด๋ค์์ด๋ผ๊ณ ํ๋ค. ์, ํฌ์ผ๋ชฌ์ ํ ๋ง๋ฆฌ ๊ณจ๋ผ๋ณด๋๋ก ํด๋ด๋ผ ๋ค์์. ๋ ์ด๋ํผ์คํธ ๋ค๊ฐ ๋จผ์ ๊ณจ๋ผ๋ด๋ผ.
์ด๋ค์ : ์ ๋ ์๊ฐํด๋ ํฌ์ผ๋ชฌ์ด ์์ด์. ํผ์นด์ธ ๊ณจ๋ผ๋ ๋ ๊น์?
์ค๋ฐ์ฌ : ๊ทธ๋ ์ฌ๊ธฐ ํผ์นด์ธ๊ฐ ํ ๋ง๋ฆฌ ์๋จ๋ค. ํผ์นด์ธ๋ฅผ ๊ฐ์ ธ๊ฐ๊ฑฐ๋ผ.
์ค์์ : ๊ทธ๋ผ ์ ๋ ์ด๋ธ์ด๋ฅผ ๊ฐ์ ธ๊ฐ๊ฒ ์ด์. ๊ทธ๋ผ ๋์ค์ ๋ณด์ ์ด๋ค์.
์ด๋ค์ : ๊ทธ๋ผ ๊ผฌ๋ ์ ๋ค์ ์ก์ผ๋ฌ ๊ฐ์ผ๊ฒ ๋ค. ์์์, ๊ทธ๋ฆฌ๊ณ ๋ฏผ์๋ฐ์ฌ๋ ๋น ์!
์ด๋ค์ : ํผ์นด์ธ ๊ณต๊ฒฉ! ๊ฐ๋ผ ๋ชฌ์คํฐ ๋ณผ!
์ด๋ค์ : ์ผํธ! ์ ๋๋ค. ๊ผฌ๋ ์ ์ก์๋ค!!!!!
์ด๋ค์ : ๊ทธ๋ผ! ์ผ๋จ ์ฌ์ฒ์์ ์ด๊ธฐ๊ณ ์ค๊ฒ ์ด!
์ด๋ค์ : ์ฌ๊ธฐ๊ฐ ์ฌ์ฒ์๊ณผ ๋๊ฒฐํ๋ ค๋ฉด ๊ฐ์ผํ๋ ๊ณณ์ธ๊ฐ..
๊ฒฝ๋น์ : ์ฌ์ฒ์๊ณผ ๋๊ฒฐ์ ํ๋ ค๋ฉด, ๋ง์์ ์ฒด์ก๊ด ๋ฆฌ๋๋ฅผ ์ด๊ฒจ์ ๋ฐฐ์ง๋ฅผ 8๊ฐ๋ฅผ ๋ชจ์์ผ ํ๋ค๋ค... ๋ฐฐ์ง๋ฅผ ๋ชจ์์ ์ค๋๋ก ํ๊ฒ
์ด๋ค์ : ์ใ ใ ... ๊ทธ๋ผ ๋ฐฐ์ง๋ถํฐ ๋ชจ์์ผ ํ๋๊ตฌ๋ใ ใ ใ ใ ๋์๋น ๊ทธ๋ฅ ์ข ๋ด์ฃผ์ง..
<1 ๋ ํ>
๊ทธ๋์์ ์ค๊ฑฐ๋ฆฌ : ์ด๋ค์์ ์ผ๋จ ์๋ก ์ฒ์ ์ฒด์ก๊ด ๋ฆฌ๋์๊ฒ ๋์ ์ ํ๋ค. ํ์ง๋ง ์๋ก์ฒ ์ฒด์ก๊ด์ ๋ฆฌ๋๋ ์ค์ข ๋ ์ํ. ๋ฐ๋ผ์ ํ์๋ง์๋ถํฐ ๋์ ํ๊ธฐ๋ก ํ๋ค. ์ฒด์ก๊ด์ ๋ฆฌ๋๋ฅผ ์ด๊ธฐ๋ฉด์, ๋ก์ผ๋จ์ ํด์ฒด์ํค๊ธฐ๋ ํ๊ณ , ์ฌ๋ฌ ๊ฐ์ง ์ฌ๊ฑด๋ ์์๋ค. ๊ฒฐ๊ตญ ์ ์ค์ ํฌ์ผ๋ชฌ๋ ์ก๊ณ , ์ด์ ์ฌ์ฒ์์ ์ด๊ธฐ๋ ค๊ณ ๋์ ํ๊ธฐ๋ก ํ๋ค. ์ฌ์ฒ์์ ๋ชจ๋ ๊ฐ๋ณ๊ฒ ์ด๊ธฐ๊ณ , ์ด์ ๋ง์ง๋ง ๋ผ์ด๋ฒ ์ค!์!์! ์ด๋ค.
์ค์์ : ํ. 1๋ ์ ์ ๊ทธ ์ด๋ค์์ด ์ฌ์ฒ์์ ์ด๊ธฐ๊ณ ํ์ฌ ํฌ์ผ๋ชฌ ๋ง์คํฐ์ธ ๋์๊ฒ ๋ค๋ฒผ? ์ด๋ ํ๋ฒ ๋ค๋ฒผ๋ณด์์ง.
์ด๋ค์ : ํ๋ญ... ๋๋ฅผ ์ฐ์ต๊ฒ๋ณด๋ค.... ํ๋ฒ ๋๊ณ ๋ณด์์ง! ๊ทธ๋ผ ๋๊ฒฐ์ด๋ท!
์ด๋ค์ : ํด... ์ด๊ฒผ๋ค.
์ค์์ : ๋ด๊ฐ ์ง๋ค๋ ๋ถํ๋ค. ใ ใ
์ค๋ฐ์ฌ : ๊ทธ๋ผ ๋ค์์ ์ด์ ์ง์ ํ ํฌ์ผ๋ชฌ ๋ง์คํฐ๊ฐ ๋๊ธฐ ์ํด ๋๊ฐ์ ์์ฑ์ํค๋๋ก ํ์ฌ๋ผ. ์ผ๋จ ๋ค๊ฐ ํ์ฌ ๊ฐ์ง๊ณ ์๋ ํฌ์ผ๋ชฌ ๋๊ฐ์์ ํฌ์ผ๋ชฌ์ ์ด๋ฆ์ ๋ณด๋ฉด ํฌ์ผ๋ชฌ์ ๋ฒํธ๋ฅผ ๋งํ๊ฑฐ๋, ํฌ์ผ๋ชฌ์ ๋ฒํธ๋ฅผ ๋ณด๋ฉด ํฌ์ผ๋ชฌ์ ์ด๋ฆ์ ๋งํ๋ ์ฐ์ต์ ํ๋๋ก ํ์ฌ๋ผ. ๋์ ์ํ์ ํต๊ณผํ๋ฉด, ๋ด๊ฐ ์๋ก ๋ง๋ ๋๊ฐ์ ์ฃผ๋๋ก ํ๊ฒ ๋ค.
์ ๋ ฅ |
์ฒซ์งธ ์ค์๋ ๋๊ฐ์ ์๋ก๋์ด ์๋ ํฌ์ผ๋ชฌ์ ๊ฐ์ N์ด๋ ๋ด๊ฐ ๋ง์ถฐ์ผ ํ๋ ๋ฌธ์ ์ ๊ฐ์ M์ด ์ฃผ์ด์ ธ. N๊ณผ M์ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 100,000 ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ธ๋ฐ, ์์ฐ์๊ฐ ๋ญ์ง๋ ์์ง? ๋ชจ๋ฅด๋ฉด ๋ฌผ์ด๋ด๋ ๊ด์ฐฎ์. ๋๋ ์ธ์ ๋ ์ง ์ง๋ฌธ์ ๋ตํด์ค ์ค๋น๊ฐ ๋์ด์์ด.
๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ํฌ์ผ๋ชฌ์ ๋ฒํธ๊ฐ 1๋ฒ์ธ ํฌ์ผ๋ชฌ๋ถํฐ N๋ฒ์ ํด๋นํ๋ ํฌ์ผ๋ชฌ๊น์ง ํ ์ค์ ํ๋์ฉ ์ ๋ ฅ์ผ๋ก ๋ค์ด์. ํฌ์ผ๋ชฌ์ ์ด๋ฆ์ ๋ชจ๋ ์์ด๋ก๋ง ์ด๋ฃจ์ด์ ธ์๊ณ , ๋, ์... ์ฒซ ๊ธ์๋ง ๋๋ฌธ์์ด๊ณ , ๋๋จธ์ง ๋ฌธ์๋ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ด. ์์ฐธ! ์ผ๋ถ ํฌ์ผ๋ชฌ์ ๋ง์ง๋ง ๋ฌธ์๋ง ๋๋ฌธ์์ผ ์๋ ์์ด. ํฌ์ผ๋ชฌ ์ด๋ฆ์ ์ต๋ ๊ธธ์ด๋ 20, ์ต์ ๊ธธ์ด๋ 2์ผ. ๊ทธ ๋ค์ ์ค๋ถํฐ ์ด M๊ฐ์ ์ค์ ๋ด๊ฐ ๋ง์ถฐ์ผํ๋ ๋ฌธ์ ๊ฐ ์ ๋ ฅ์ผ๋ก ๋ค์ด์. ๋ฌธ์ ๊ฐ ์ํ๋ฒณ์ผ๋ก๋ง ๋ค์ด์ค๋ฉด ํฌ์ผ๋ชฌ ๋ฒํธ๋ฅผ ๋งํด์ผ ํ๊ณ , ์ซ์๋ก๋ง ๋ค์ด์ค๋ฉด, ํฌ์ผ๋ชฌ ๋ฒํธ์ ํด๋นํ๋ ๋ฌธ์๋ฅผ ์ถ๋ ฅํด์ผํด. ์ ๋ ฅ์ผ๋ก ๋ค์ด์ค๋ ์ซ์๋ ๋ฐ๋์ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , N๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๊ณ , ์ ๋ ฅ์ผ๋ก ๋ค์ด์ค๋ ๋ฌธ์๋ ๋ฐ๋์ ๋๊ฐ์ ์๋ ํฌ์ผ๋ชฌ์ ์ด๋ฆ๋ง ์ฃผ์ด์ ธ. ๊ทธ๋ผ ํ์ดํ !!!
์ถ๋ ฅ |
์ฒซ์งธ ์ค๋ถํฐ ์ฐจ๋ก๋๋ก M๊ฐ์ ์ค์ ๊ฐ๊ฐ์ ๋ฌธ์ ์ ๋ํ ๋ต์ ๋งํด์คฌ์ผ๋ฉด ์ข๊ฒ ์ด!!!. ์ ๋ ฅ์ผ๋ก ์ซ์๊ฐ ๋ค์ด์๋ค๋ฉด ๊ทธ ์ซ์์ ํด๋นํ๋ ํฌ์ผ๋ชฌ์ ์ด๋ฆ์, ๋ฌธ์๊ฐ ๋ค์ด์์ผ๋ฉด ๊ทธ ํฌ์ผ๋ชฌ์ ์ด๋ฆ์ ํด๋นํ๋ ๋ฒํธ๋ฅผ ์ถ๋ ฅํ๋ฉด ๋ผ. ๊ทธ๋ผ ๋กํ~
ํ์ด |
ํฌ์ผ๋ชฌ ์ด๋ฆ๊ณผ ํด๋นํ๋ ๋ฒํธ๋ฅผ ๋งคํํ๋ dictionary๋ฅผ ์์ฑํ ํ ์ ๋ ฅ๋ฐ์ ๊ฐ์ ์ซ์ ์ฌ๋ถ๋ฅผ ํ๋จํ ์ ์๋ isDigit ํจ์๋ฅผ ์ฌ์ฉํ๋ค. ํ๋จ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ์ find ํจ์๋ฅผ ์ฌ์ฉํด value ๊ฐ์ ๋น๊ตํด key๋ฅผ ์ถ๋ ฅํ๊ฑฐ๋ key๋ฅผ ์ด์ฉํด value๋ฅผ ์ถ๋ ฅํ๋ค.
๋ต์ |
fun main() { val (N, M) = readLine()!!.split(" ").map { it.toInt() } val pokemon = mutableMapOf<String, Int>() repeat(N) { val name = readLine()!! pokemon[name] = it + 1 } repeat(M) { val name = readLine()!! if (name.first().isDigit()) { val num = name.toInt() val result = pokemon.entries.find { it.value == num }?.key println(result) } else { println(pokemon[name]) } } }
^ ์๊ฐ ์ด๊ณผ๊ฐ ๋ฐ์ํ ์ฝ๋
Scanner๋ก๋ ์ ๋ ฅ๋ฐ์๋ณด๊ณ StringBuilder๋ฅผ ์ด์ฉํด ์ถ๋ ฅ๋ ํด๋ณด์์ง๋ง ์๊ฐ์ด๊ณผ๊ฐ ๋ฐ์ํ์๋ค.
์ ๋ต์ ํฌ์ผ๋ชฌ ์ด๋ฆ๊ณผ ์์๋ฅผ ๋ด์ Dictionary์ ํฌ์ผ๋ชฌ ์ด๋ฆ๋ง ๋ด์ List๋ฅผ ์์ฑํด ์ ๋ ฅ๋ฐ์ ๊ฐ์ด ์ซ์์ธ์ง ๊ตฌ๋ถํ ๋ค ์ซ์๋ฉด ์ด๋ฆ List์์ ์ถ๋ ฅ, ๊ทธ๋ ์ง ์์ผ๋ฉด ํฌ์ผ๋ชฌ ์ฌ์ Dictionary์์ ์ถ๋ ฅํด์ค๋ค.
import java.io.BufferedReader import java.io.InputStreamReader fun main() { val br = BufferedReader(InputStreamReader(System.`in`)) val (N, M) = br.readLine()!!.split(" ").map { it.toInt() } val pokemonList = HashMap<String, Int>() // ํฌ์ผ๋ชฌ ์ฌ์ val pokemonName = ArrayList<String>() // ํฌ์ผ๋ชฌ ์ด๋ฆ๋ง ๋ด์ List for (i in 1..N) { val name = br.readLine()!! pokemonList[name] = i pokemonName.add(name) } repeat(M) { val data = br.readLine()!! if (data[0].isDigit()) { val num = data.toInt() println(pokemonName[num - 1]) } else { println(pokemonList[query]) } } }
๋ฐ์ํ'๐ Algorithm > ๐ ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Kotlin ๐ฌ ๋ฐฑ์ค 14๋จ๊ณ :: 1764 ๋ฒ (0) 2024.03.05 Kotlin ๐ฌ ๋ฐฑ์ค 14๋จ๊ณ :: 10816 ๋ฒ (0) 2024.03.04 Kotlin ๐ฌ ๋ฐฑ์ค 14๋จ๊ณ :: 7785 ๋ฒ (0) 2024.03.02 Kotlin ๐ฌ ๋ฐฑ์ค 14๋จ๊ณ :: 14425 ๋ฒ (0) 2024.03.01 Kotlin ๐ฌ ๋ฐฑ์ค 14๋จ๊ณ :: 10815 ๋ฒ (0) 2024.02.29