Coding Test

영어가 싫어요

GEEEEEEEE 2023. 5. 26. 22:57

영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다.

 

 

문자열 numbers가 매개변수로 주어질 때, numbers를 정수로 바꿔 return 하도록 solution 함수를 완성해주세요.

 

 

나의 풀이

 

 

솔직히 이 문제는 내가 많이 해메서 주먹구구식으로 풀었다;;

 

 

 

너무 배열과 contains 함수만을 이용하여 푼 것 같다.

 

 

 

그래도 풀긴 풀었으니 다행이지만... 

 

 

 

그래서 더 쉬운 다른 풀이를 찾아보았고 Dictionary와 Tuple을 이용한 풀이를 찾아내게 되었다. 

 

 

Tuple로 Dictionary 안에서 for 문을 돌 수 있다는 사실을 처음 알게 되었다.

 

 

 

여기서 k는 Key이고, v는 Value이다.

 

 

 

그리고 replacingOccurrences는 뭐냐면...

 

 

 

target (기존의 문자열)을 replacement(다른 문자열)로 대체해주는 함수라는 것을 알 수 있다!

 

answer = String(answer.replacingOccurrences(of: k, with: v))

 

answer에서 k를 v로 대체한다는 의미는

 

 

 

입력된 인자 값인 "onetwo"에서 key 값으로 해당되는 "one"과 "two"를 value 값인 "1"과 "2"로

 

 

 

대체한다는 뜻이 되겠다.

 

 

 

그리고 이를 return 값에 알맞게 Int64 타입으로 변환하여 return 해주면 된다.