스파르타 코딩 클럽 - iOS 스타터 6기/알고리즘 코드카타

12. 스파르타 코딩 클럽 - 3월 26일 코딩테스트 연습 (코드카타)

seongpil Heo 2025. 3. 26. 10:22

 ❓ 오늘의 문제

1. 모음 제거

  • 영어에선 a, e, i, o, u 다섯 가지 알파벳을 모음으로 분류합니다. 문자열 my_string이 매개변수로 주어질 때 모음을 제거한 문자열을 return 하도록 solution 함수를 완성해 주세요.

모음 제거

나의 정답 코드

import Foundation

func solution(_ my_string:String) -> String {
    guard my_string.count >= 1 && my_string.count <= 1000 else { return "" }
    var result = my_string.components(separatedBy: ["a", "e", "i", "o", "u"]).joined()
    return result
}

✓ TIL

오늘은 모음 제거라는 문제를 풀어보았다.

영어에서 a, e, i, o, u 다섯 가지 알파벳을 모음으로 분류하는데

주어진 문자열 my_string에서 모음을 제거한 문자열을 return 하는 함수를 완성하는 문제이다.

 

처음 문제를 봤을 때 문자열에서 특정 문자를 제거하는 방법을 찾으면 되겠다고 생각했다.

분명 내가 원하는 기능을 하는 함수가 있을 거라 생각하고 구글링을 했다.

 

구글링을 하니 두 가지의 함수를 찾을 수 있었다.

첫 번째는 components() 함수이고, 두 번째는 joined() 함수이다.

 

먼저 components() 함수는 예를 들면 아래와 같이 사용한다.

my_string.components(separatedBy: ["a", "e", "i", "o", "u"]) // 형식으로 사용


import Foundation

func solution(_ my_string:String) {
    var result = my_string.components(separatedBy: ["a", "e", "i", "o", "u"])
    print(result)
}

solution("nice to meet you")

 

 

공백을 기준으로 분류하는 함수로 많이 사용하지만 파라미터에 문자열을 넣으면 구분자를 지우고 나머지 문자열을 반환하게 된다.

solution의 함수를 실행하면 나오는 결과는 nice to meet you에서 a, e, i, o , u가 제거된

["n", "c", " t", " m", "", "t y", "", ""] 형태로 출력된다.

 

다음은 joined() 함수이다.

joined() 함수는 배열을 String으로 만들어주는 함수이며 사용방법은 아래와 같다.

var result = my_string.components(separatedBy: ["a", "e", "i", "o", "u"]).joined()

 

해당 코드를 실행하면

joined() 함수를 쓰기 전에는 ["n", "c", " t", " m", "", "t y", "", ""] 결과가 출력되었지만

joined() 함수를 쓰면 nc t mt y 라는 결과가 출력된다.


😼 GitHub

오늘도 완료