TIL/알고리즘

02/01 알고리즘 공부(24) - 서울에서 김서방 찾기

sos000303 2024. 2. 1. 16:01
728x90

조건 : String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.( seoul은 길이 1 이상, 1000 이하인 배열, seoul의 원소는 길이 1 이상, 20 이하인 문자열, "Kim"은 반드시 seoul 안에 포함)

 

알고리즘 예상

 

1. 반복문을 통해 seoul(i)값과 "Kim" 값을 비교한다.

2. seoul[i] == "Kim"을 만족하는 i값을 x에 저장한다.

3. 반복문을 탈출한다.

4. answer에 "김서방은 x에 있다"는 스트링을 반환한다.

 

초기 코드

class Solution {
    fun solution(seoul: Array<String>): String {
        var answer = ""
        return answer
    }
}

 

내 코드

class Solution {
    fun solution(seoul: Array<String>): String {
        var x : Int = 0
        for(i in 0 until seoul.size){
            if(seoul[i]=="Kim"){
                x = i
                break
            }
        }
        return "김서방은 ${x}에 있다"
    }
}

 

다른 사람의 풀이

class Solution {
            fun solution(seoul: Array<String>): String = "김서방은 ${seoul.indexOf("Kim")}에 있다"
        }

 

indexOf라는 굉장히 간단한 방법이있었다. 기억해두자

728x90