Codewars(알고리즘)/8Kyu

[Codewars] [8Kyu] Switch it Up!

Dannian 2021. 3. 4. 18:05
반응형
 

Codewars: Achieve mastery through challenge

Codewars is where developers achieve code mastery through challenge. Train on kata in the dojo and reach your highest potential.

www.codewars.com

이번 문제는 Int로 받은 값에 대해서 String으로 반환해주는 문제입니다.

 

1. Swift

1-1. 본인의 풀이

let numArr : [String] = [
    "Zero",
    "One",
    "Two",
    "Three",
    "Four",
    "Five",
    "Six",
    "Seven",
    "Eight",
    "Nine"
]
func switchItUp(_ number: Int) -> String {
  return numArr[number]
}

일단 처음에 String Array를 선언하고, 해당 Array에 "Zero"부터 "Nine"까지 String을 넣어둡니다.

그러면 numArr[0] = "Zero" ~ numArr[9] = "Nine"까지 출력이 될 것입니다.

그 상태에서 switchItUp 함수에 String Array의 index를 불러오도록 합니다.

 

1-2. Best Solution

func switchItUp(_ number: Int) -> String {
  return ["Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"][number]
}

기본 사용 방식은 같은데, 여기서는 따로 선언해서 이용하는 것이 아니고 return할 때 해당 배열을 만들고, 그 배열의 index를 바로 넣어서 return시키도록 구현한 것입니다.

굳이 변수를 따로 선언해두지 않고 구현하는 방법도 이렇게 있었는데, 이런 생각을 못했네요.

 

이번 문제도 사실 단순해서 거의 대부분 같은 방식으로 Solution들이 나와있었습니다.

8kyu문제들은 기본 사용법에 대해서 나오는 문제들이다보니 Solution들이 비슷 할 수 밖에 없는 것 같네요.

반응형