-
[Programmers] Lv2. ๋ฌธ์์ด ์์ถ(kotlin)SW Test/Programmers 2022. 7. 28. 23:08๋ฐ์ํ
๋ฌธ์
https://school.programmers.co.kr/learn/courses/30/lessons/60057?language=kotlin ์์
https://school.programmers.co.kr/learn/courses/30/lessons/60057?language=kotlin ํ์ด
- ์์ 5๋ฅผ ๋ณด์ฌ์ฃผ์ง ๋ชปํ์ง๋ง, ๋ฌธ์ ์์ ํ์ธํด๋ณด๋ฉด ๋ฌธ์์ด์ ๋ฌด์กฐ๊ฑด ์ฒ์๋ถํฐ ์ ํด์ง ๊ธธ์ด๋ก ์๋ฅธ๋ค๋ ๊ฒ์ ์ ์ ์์ต๋๋ค.
- ๋ฌธ์์ด์ด ๊ธธ์ด๊ฐ 1์ธ ๊ฒฝ์ฐ๋ 1๋ณด๋ค ์งง์ ๋ฌธ์์ด์ ์๊ธฐ ๋๋ฌธ์ 1์ ๋ฐํํฉ๋๋ค.
- ๊ทธ๋ฆฌ๊ณ ๋ฌธ์์ด ๊ธธ์ด์ ์ ๋ฐ ์ด๊ณผ์ ๊ธธ์ด์ผ ๊ฒฝ์ฐ ์์ถ์ ํ ์ ์๊ธฐ ๋๋ฌธ์ ํ์ธํ ํ์๊ฐ ์์ต๋๋ค.๋ฐ๋ผ์ ๋ฌธ์์ด ๊ธธ์ด ์ ๋ฐ ์ดํ์ ๊ธธ์ด๋ก ์์ถํด์ ์ต์ํ์ ๊ธธ์ด๋ฅผ ๋ฐํํฉ๋๋ค.
- count ๋ณ์๋ ์์ ๋ฌธ์์ด์ ๊ธธ์ด์ ํด๋น ๊ธธ์ด๋ก ์์ถ ์ ํด๋น ๊ธธ์ด๋ณด๋ค ์์ ๋ถ๋ถ์ ๋ณ๋๋ก ๋ํด์ค๋๋ค. ์ฆ, 8์ ๊ธธ์ด๋ฅผ ๊ฐ์ง๋ ๋ฌธ์์ด์์ 3๊ฐ์ฉ ์ชผ๊ฐ์ ์์ถํ ๊ฒฝ์ฐ ๋๋จธ์ง 2๋ ์๋์ผ๋ก ์ถ๊ฐํด์ฃผ๋ ๊ฒ์ ๋๋ค.
- str์ ๋ฌธ์์ด์ ์ ์ฅํด๋๊ณ ๋ค์ ๋ฌธ์์ด๊ณผ ๊ฐ์ผ๋ฉด cnt๋ฅผ +1 ํด์ฃผ๊ณ ๋ค๋ฅด๋ฉด cnt๊ฐ ์ฐจ์งํ๋ ๋งํผ ์ถ๊ฐ๋ก ๋ํด์ค๋๋ค. ์ฌ๊ธฐ์ ์ฃผ์์ ์ cnt๊ฐ 10์ผ ๊ฒฝ์ฐ๋ ๋ฌธ์์ด ๊ธธ์ด๊ฐ +2, cnt๊ฐ 100์ผ ๊ฒฝ์ฐ๋ ๋ฌธ์์ด ๊ธธ์ด๊ฐ +3์ด ๋๋ค๋ ์ ์ ๋๋ค.
import kotlin.math.* class Solution { fun solution(s: String): Int { var answer = 1000 if(s.length == 1) return 1 (1..s.length/2).forEach{ var count = it + (s.length % it) var str = s.substring(0,it) var cnt = 1 for(i in it..(s.length - it) step it){ if(str == s.substring(i, i+it)){ cnt++ }else{ str = s.substring(i, i+it) count+=it count+= if(cnt == 1) 0 else cnt.toString().length cnt = 1 } } count+= if(cnt == 1) 0 else cnt.toString().length answer = min(count, answer) } return answer } }
์ฐธ๊ณ
- ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ธ kotlin์ ํน์ฑ์ ๋ง๊ฒ ํจ์๋ฅผ ๋ง์ด ์ตํ์ ๐ฝ
- https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/substring.html
substring - Kotlin Programming Language
kotlinlang.org
๋ฐ์ํ'SW Test > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Programmers] Lv2. ๋ฉ์ฉกํ ์ฌ๊ฐํ(kotlin) (0) 2022.08.01 [Programmers] Lv2. ์คํ์ฑํ ๋ฐฉ(kotlin) (0) 2022.07.31 [Programmers] Lv2. N-Queen(kotlin) (0) 2022.07.26 [Programmers] Lv1.์ ๊ณ ๊ฒฐ๊ณผ ๋ฐ๊ธฐ(kotlin) (0) 2022.07.23 [Programmers] Lv1.๋ก๋์ ์ต๊ณ ์์์ ์ต์ ์์(kotlin) (0) 2022.07.22