오늘은 Swift로 문자열을 처리하는 다양한 방법에 대해 공부했다. 특히, 몇 가지 실습 문제를 해결하면서 Swift의 문법과 사용법을 좀 더 깊이 이해할 수 있었다.
문자열의 첫 번째와 마지막 문자를 추출하여 결합하는 방법을 복습했다. prefix(1)
와 suffix(1)
메서드를 사용해 간단히 해결할 수 있었다. 이 과정에서 반환 타입(Substring
)을 명시적으로 String
으로 변환해야 한다는 점을 다시금 확인했다.
문제는 문자열 입력을 받고 출력하는 문제라 정답 코드는 아니지만 학습한 방식 코드를 남긴다.
func a(_ n: String) -> String {
let first = String(n.prefix(1))
let last = String(n.suffix(1))
return first + last
}
문자열을 분해하여 각 문자를 주어진 횟수만큼 반복하는 방법을 학습했다. 이를 위해 String(repeating:count:)
를 사용해 각 문자를 반복하고, for
문을 사용해 각 문자를 반복한 후 결과 문자열에 추가하는 방법을 복습할 수 있었다.
func solution(_ my_string: String, _ n: Int) -> String {
var word = ""
for char in my_string {
word += String(repeating: char, count: n)
}
return word
}
배열의 각 원소가 짝수인지 홀수인지 판단해 그 개수를 세는 문제를 풀었다. 잘못된 인덱스 접근으로 인해 런타임 에러가 발생할 수 있음을 확인하고, 이를 수정하여 정확한 조건문을 사용해 문제를 해결했다.
func solution(_ num_list: [Int]) -> [Int] {
var evenCount = 0
var oddCount = 0
for i in num_list {
if i % 2 == 0 {
evenCount += 1
} else {
oddCount += 1
}
}
return [evenCount, oddCount]
}
이렇게 오늘은 Swift의 기본적인 문자열 처리 및 함수 작성 규칙에 대해 더 깊이 학습하고, 실습 문제를 통해 다양한 오류를 직접 해결하면서 많은 것을 배웠다.
문제를 터셨군요. 저는 제가 털렸어요.