[Kotlin] ์„œ์šธ์—์„œ ๊น€์„œ๋ฐฉ ์ฐพ๊ธฐ(ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜)
๋ฐ˜์‘ํ˜•

 

๋ฌธ์ œ

https://school.programmers.co.kr/learn/courses/30/lessons/12919

 


 

์ ‘๊ทผ

 

  • seoul์˜ ์—˜๋ฆฌ๋จผํŠธ ์ค‘ "Kim"์˜ ์œ„์น˜(์ธ๋ฑ์Šค)๋ฅผ ์ฐพ์Œ
  • "Kim"์˜ ์ธ๋ฑ์Šค ๊ฐ’์„ x๋กœ ์„ ์–ธ
  • "๊น€์„œ๋ฐฉ์€ $x์— ์žˆ๋‹ค" String ํ˜•์‹์œผ๋กœ ๋ฆฌํ„ด
  • ์‰ฝ๊ฒŒ ํ’€์ด ์™„๋ฃŒํ•˜์˜€๋‹ค.

 

 


 

์„ฑ๊ณต ์ฝ”๋“œ

 

// 1. seoul์˜ ์—˜๋ฆฌ๋จผํŠธ ์ค‘ "Kim"์˜ ์œ„์น˜(์ธ๋ฑ์Šค)๋ฅผ ์ฐพ์Œ
// 2. "Kim"์˜ ์ธ๋ฑ์Šค ๊ฐ’์„ x๋กœ ์„ ์–ธ
// 3. "๊น€์„œ๋ฐฉ์€ $x์— ์žˆ๋‹ค" String ํ˜•์‹์œผ๋กœ ๋ฆฌํ„ด

class Solution {
    fun solution(seoul: Array<String>): String {
        var x = seoul.indexOf("Kim")     
        return "๊น€์„œ๋ฐฉ์€ ${x}์— ์žˆ๋‹ค"
    }
}
// ๋ณ€์ˆ˜๋ฅผ ๋”ฐ๋กœ ์„ค์ •ํ•˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ๋ฆฌํ„ด ๊ฐ€๋Šฅ

class Solution {
    fun solution(seoul: Array<String>): String = "๊น€์„œ๋ฐฉ์€ ${seoul.indexOf("Kim")}์— ์žˆ๋‹ค"
}

 

 


 

์„ค๋ช…

 

  1. ์ฃผ์–ด์ง„ ์ŠคํŠธ๋ง ๋ฐฐ์—ด Seoul์˜ ์ฃผ์†Œ๊ฐ’๋งŒ ๊ทธ๋Œ€๋กœ ๋ฐ˜ํ™˜ํ•ด์ฃผ๋ฉด ๋˜๋Š” ์‰ฌ์šด ๋ฌธ์ œ๋‹ค.
  2. ๋ฐฐ์—ด ์ค‘ ํŠน์ • ์›์†Œ์˜ ์ธ๋ฑ์Šค๋ฅผ ์ฐพ๋Š” ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.
    - indexOf() : ์˜ˆ์‹œ values.indexOf(item)
    - withIndex() : ์˜ˆ์‹œ values.withIndex() .first { item == it.value } .index
    - find() : ์˜ˆ์‹œ values.indices.find { values[it] == item }
    - ๋ฃจํ”„๋ฅผ ์‚ฌ์šฉํ•ด ์ฐพ๊ณ  ์žˆ๋Š” ์ฒซ ๋ฒˆ์งธ ํ•ญ๋ชฉ์˜ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜
  3. ์ด ์ค‘์—์„œ ์ œ์ผ ๊ฐ„๋‹จํ•œ indexOf()๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ’€์ดํ–ˆ๋‹ค.

 

 


 

๋‹ค๋ฅธ ๋ฐฉ๋ฒ•

 

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

        run loop@{
            seoul.forEachIndexed{ index, value ->
                if(value.contains("Kim")) {
                    answer = index
                    return@loop
                }
            }
        }
        return "๊น€์„œ๋ฐฉ์€ ${answer}์— ์žˆ๋‹ค"
    }
}

 

 

 

 

๋ฐ˜์‘ํ˜•
 ๐Ÿ’ฌ C O M M E N T