본문 바로가기

iOS 앱 개발자 프로젝트/알고리즘 코드카타

[Algorithm] A 강조하기 (w/ Swift)

A 강조하기

 

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 


 

나의 코드

import Foundation

func solution(_ myString: String) -> String {
    var result = ""
    for char in myString {
        if char == "a" {
            result.append("A")
        } else if char.isUppercase && char != "A" {
            result.append(char.lowercased())
        } else {
            result.append(char)
        }
    }
    return result
}

 

 

한 줄씩 차근히 따라가며 살펴보자.. '◡'✿

 

func solution(_ myString: String) -> String {
    var result = ""  // 변환된 문자열을 저장할 빈 문자열을 준비!

 

 

result라는 빈 문자열을 만들었어. 이제 여기에 변환된 문자들을 계속 이어 붙일 거야.

    for char in myString {  // myString에서 문자를 하나씩 char로 가져와
        if char == "a" {     // char이 "a"라면
            result.append("A")  // result에 "A"를 추가

 

 

첫 번째 조건이 "a"를 만날 때야. 이때는 "a"를 "A"로 바꿔서 결과 문자열에 추가해.

        } else if char.isUppercase && char != "A" {  // char이 대문자이고, "A"가 아니라면
            result.append(char.lowercased()) // char을 소문자로 바꿔서 추가

 

 

두 번째 조건은 다른 대문자일 때야.
예를 들어 "B"가 나오면 소문자로 변환한 "b"를 추가해. 단, "A"는 여기에 걸리지 않아.

        } else {  // 그 외의 경우 (소문자나 그냥 "A"라면)
            result.append(char)  // 그대로 추가
        }
    }

 

 

마지막으로 "a"도 아니고, 대문자도 아니라면(예: "b", "c" 같은 소문자), 있는 그대로 결과에 추가해.

 

    return result  // 결과 문자열을 반환
}

 

 

 


 

 

 

  • 소문자 "a"를 "A"로 바꾸고, "A"를 제외한 다른 대문자를 전부 소문자로 바꾸는 규칙을 적용한다는 점이야.

 

Swift 코드를 더 알기 쉽게 고쳐 쓰면 이렇게 이해할 수 있어.

  1. 문자를 하나씩 살펴본다.
  2. 각각의 규칙(대문자/소문자 변환)을 적용한다.
  3. 최종 결과를 반환한다.