길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.
n은 길이 10,000이하인 자연수입니다.
2가지 방법이 생각난다
첫째는 반복문을 생성해서 문자를 계속 집어넣고
조건문을 응용해 홀수번째면 "수"를 짝수번째면 "박"을 문자열에 계속넣어서 리턴하면 될것 같다
둘째론 "수박"이라는 문자의 패턴을 반복해준뒤 입력값이 홀수면 끝에 "수"를 추가해주면 될것
반복문을 생성해서 문자를 계속 집어넣고
조건문을 응용해 홀수번째면 "수"를 짝수번째면 "박"을 문자열에 계속넣기
fun main() {
println("길이를 입력해주세요")
val input = readln().toInt()
if (input < 1){
println("길이는 1이상 이어야 합니다")
}else if (input > 10000){
println("문자의 길이가 너무 깁니다")
}
println("${solution(input)}")
}
fun solution(n: Int): String {
var answer = ""
var i = 1
while (i <= n){
when (i % 2){
1 -> answer += "수"
0 -> answer += "박"
}
i++
}
return answer
}
홀수번째엔 수 짝수번째엔 박 문자를 추가해주고 리턴
fun solution(n: Int): String {
val pattern = "수박"
val repeat = pattern.repeat(n/2)
var answer = when(n%2){
1-> repeat + "수"
0-> repeat
else -> ""
}
return answer
}
"수박" 패턴을 만들고 패턴을 반복하는 문자열을 만든다
수박은 2글자니 입력받은 값에서 2를 나눠준것
입력한값이 홀수일땐 "수"문자를 추가해서 리턴한다
package com.example.codekata
fun main() {
println("길이를 입력해주세요")
val input = readln().toInt()
if (input < 1){
println("길이는 1이상 이어야 합니다")
}else if (input > 10000){
println("문자의 길이가 너무 깁니다")
}
println("${solution(input)}")
}
fun solution(n: Int): String {
val pattern = "수박"
val repeat = pattern.repeat(n/2)
var answer = when(n%2){
1-> repeat + "수"
0-> repeat
else -> ""
}
return answer
}