[TIL] 코딩테스트 문제 털이

Eden·2024년 11월 20일
3

TIL

목록 보기
47/92
post-thumbnail

오늘은 Swift로 문자열을 처리하는 다양한 방법에 대해 공부했다. 특히, 몇 가지 실습 문제를 해결하면서 Swift의 문법과 사용법을 좀 더 깊이 이해할 수 있었다.

백준: 9086번 문자열

문자열의 첫 번째와 마지막 문자를 추출하여 결합하는 방법을 복습했다. 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의 기본적인 문자열 처리 및 함수 작성 규칙에 대해 더 깊이 학습하고, 실습 문제를 통해 다양한 오류를 직접 해결하면서 많은 것을 배웠다.

profile
Frontend🌐 and iOS

2개의 댓글

comment-user-thumbnail
2024년 11월 21일

문제를 터셨군요. 저는 제가 털렸어요.

1개의 답글