String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.
seoul은 길이 1 이상, 1000 이하인 배열입니다.
seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.
"Kim"은 반드시 seoul 안에 포함되어 있습니다.
Jane , Kim 등등 여러 사람의 이름으로 이루어진 서울의 배열에서 Kim의 위치를 찾는 것 같다
불특정 다수의 배열속에서 Kim의 위치를 찾아보려면
일단 배열을 설정해야한다
1~ 1000까지 랜덤한 사이즈의 배열을 생성하고
거기서 indexOf 함수를 이용해 찾으면 될것이다
Kim은 반드시 포함되게하고 그 외의 사람이름은 DB가 있어야 할것 같다 이부분은 생략하자
fun makeseoul(): Array<String>{
val size = Random.nextInt(1,1001) // 1~1000까지 중 랜덤한 숫자 생성
val kimplace = Random.nextInt(size) // 0~size까지 중 랜덤한 숫자 생성
}
size는 서울 전체의 크기를 나타내고 kimplace는 size보다 작은 위치에 kim의 위치를 나타낸다
이제 Kim이 들어갈 seoul을 만들어보자
val seoul = Array(size){
if (it == kimplace) "Kim"
else "Jane"
}
배열을 만들고 조건문을 통해 Kimplace에 Kim을 넣고 나머진 Jane으로 채웠다
서울을 만들었으니 솔루션함수를 작성해보자
사실 별거없다 indexof를 사용하면 간단하다
fun solution():Int {
var answer = 0
answer = makeseoul().indexOf("Kim")
return answer
}
package com.example.codekata
import kotlin.random.Random
fun main() {
println("Kim은 ${solution()}에 위치하고 있습니다")
}
fun solution():Int {
var answer = 0
answer = makeseoul().indexOf("Kim")
return answer
}
fun makeseoul(): Array<String>{
val size = Random.nextInt(1,1001) // 1~1000까지 중 랜덤한 숫자 생성
val kimplace = Random.nextInt(size) // 0~size까지 중 랜덤한 숫자 생성
val seoul = Array(size){
if (it == kimplace) "Kim"
else "Jane"
}
return seoul
}
결과