# 문제
String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.
# 제한사항
seoul은 길이 1 이상, 1000 이하인 배열입니다.
seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.
"Kim"은 반드시 seoul 안에 포함되어 있습니다.
# 입출력 예
ex) seoul = ["Jane", "Kim"] / return = "김서방은 1에 있다"
# 풀이
class Solution {
fun solution(seoul: Array<String>): String {
var answer = ""
for(i in 0..seoul.size-1){
if(seoul[i] == "Kim"){
answer = "김서방은 ${i}에 있다"
}
}
return answer
}
}
-> for문을 사용해서 0부터 seoul의 사이즈 -1 만큼 인덱스를 돌다가
Kim이 있으면 그것의 인덱스 값을 리턴하도록 했다
size말고 count를 사용해도 된다
# 다른 사람의 풀이
class Solution {
fun solution(seoul: Array<String>): String {
var answer = ""
answer = "김서방은 ${seoul.indexOf("Kim")}에 있다"
return answer
}
}
-> indexOf를 사용해서, Kim에 해당하는 인덱스를 바로 가져오도록해서 더 간단하게 코드를 짤 수 있다
indexOf는 공통된 요소가 있으면 제일처음에 있는 요소의 인덱스를 반환해준다!
- indexOf 예시 코드
fun main() {
val values = listOf(4, 7, 2, 5, 1, 9, 5, 3)
val item = 5
val index = values.indexOf(item)
println(index) // 3
}
-> 5가 3번째 인덱스와 7번째 인덱스에 두개가 있는데 indexOf(5)를 출력하면 처음에 있는 3번째 인덱스를 출력해준다
'개발 노트 > 알고리즘[Kotlin]' 카테고리의 다른 글
프로그래머스 알고리즘 문제[나누어 떨어지는 숫자] (0) | 2024.03.25 |
---|---|
프로그래머스 알고리즘 문제[콜라츠 추측] (0) | 2024.03.22 |
프로그래머스 알고리즘 문제[두 정수 사이의 합] (0) | 2024.03.22 |
프로그래머스 알고리즘 문제[하샤드 수] (2) | 2024.03.19 |
프로그래머스 알고리즘 문제[정수 내림차순으로 배치하기] (1) | 2024.03.15 |