Contact(1013๋ฒ)
Gold 5
#๋ฌธ์์ด #์ ๊ท ํํ์
https://www.acmicpc.net/problem/1013
๋ฌธ์ ๋ด์ฉ
๋ฌธ์ ์ ๊ทผ
์ ๋ ฅ๋ฐ์ ์ซ์ ์ฝ๋๊ฐ (100+1+ | 01)+ ์ ๋ง์กฑํ๋์ง ํ์ธํด์ผ ํ๋ค.
์์ ์์์์ ๋ดค๋ค์ํผ, +๊ธฐํธ๋ ํน์ ๋ฌธ์๊ฐ ๋ฐ๋ณตํด์ ๋์ค๋ ๊ฒ์ ๋ปํ๋ค.
100+์ ๊ฒฝ์ฐ์๋ 100, 10000, 1000000... ์ ๊ฐ์ ์ซ์๋ค์ด 100+ ๋ฅผ ๋ง์กฑํ๋ค.
(01)+์ ๊ฒฝ์ฐ์๋ ๊ดํธ ์์ ์ซ์๋ค์ด ๋ฐ๋ณต๋ผ์ ๋์ค๋ ๊ฒ์ ๋ปํ๋ค.
01, 0101, 010101... ์ ๊ฐ์ ์ซ์๋ค์ด (01)+ ์ ๋ง์กฑํ๋ค.
์ฐ๋ฆฌ๊ฐ ํ์ธํด์ผ ํ ํจํด์ (100+1+ | 01)+์
1. 10 ๋ค์์ 0์ด ๋ฐ๋ณต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฐ๋ณต์ด ๋๋๋ฉด 1์ด ๋ฐ๋ณต๋๋ค.
2. 01๋ก ๋๋๋ค.
ํจํด 1 ๋๋ 2๊ฐ ๋ฐ๋ณต์ ์ผ๋ก ๋ฑ์ฅํ๋ค.
์ ์กฐ๊ฑด์ ์ ๊ท ํํ์์ผ๋ก ๋ํ๋ด๋ ๊ฒ์ ์ฝ๋ค.
Kotlin์ ์ ๊ท ํํ์์ + ๊ธฐํธ๊ฐ ๋ฌธ์ ์ ๊ฐ์ ์ญํ ์ ํ๋ค(1๋ฒ ์ด์ ๋ฐ๋ณต).
์ ๊ท ํํ์์ ๋ค์๊ณผ ๊ฐ์ด ๋ง๋ค ์ ์๋ค.
val regex = Regex("(100+1+|01)+")
๋ฌธ์ ํด๊ฒฐ ์ฝ๋
import java.io.BufferedReader
import java.io.InputStreamReader
fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
val case = readLine().toInt()
val regex = Regex("(100+1+|01)+")
for (i in 0 until case ) {
val code = readLine()
if (regex.matches(code)) println("YES")
else println("NO")
}
}
๋ฌธ์ ํ์ด
์์ ์กฐ๊ฑด 2๊ฐ๋ฅผ ๋ง์กฑํ ์ ์๋ ์ ๊ท ํํ์์ ๊ตฌ์ฑํ๊ณ
์ ๋ ฅ๋ ์ฝ๋๊ฐ ์ ๊ท ํํ์์ ๋งค์น๋๋์ง ํ์ธํ๋ค.
๋ฌธ์ ํด๊ฒฐ ๊ณผ์
์ ๊ท ํํ์์ ๋ฌธ์ ์์ ๋๋๊ณ ์๋ ค์ค์ ์ฝ๊ฒ ํด๊ฒฐํ๋ค.
์ ๊ท ํํ์์ ์ด๋ค๋ฉด ๋ธ๋ก ์ฆ๊ธ์ ๋ฌธ์ ๊ฐ ๋์ง๋ง, ์ฐ์ง ์๋๋ค๋ฉด ๊ณจ๋์ ๋์ด๋๋ฅผ ๋ง๋ณผ ์ ์์ ๊ฒ์ด๋ค.
'๐ฏ | ๋ฐฑ์ค > ๐ | Gold' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Kotlin, G1] ๋ฐฑ์ค 1300๋ฒ K๋ฒ์งธ ์ (0) | 2024.09.09 |
---|---|
[Kotlin, G5] ๋ฐฑ์ค 16928๋ฒ ๋ฑ๊ณผ ์ฌ๋ค๋ฆฌ ๊ฒ์ (0) | 2024.08.12 |
[Kotlin, G5] ๋ฐฑ์ค 1011๋ฒ Fly me to the Alpha Centauri (0) | 2024.07.30 |
[Kotlin, G3] ๋ฐฑ์ค 2812๋ฒ ํฌ๊ฒ ๋ง๋ค๊ธฐ (0) | 2024.07.29 |
[Kotlin, G5] ๋ฐฑ์ค 7569๋ฒ ํ ๋งํ (0) | 2024.07.29 |