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 코드를 더 알기 쉽게 고쳐 쓰면 이렇게 이해할 수 있어.
- 문자를 하나씩 살펴본다.
- 각각의 규칙(대문자/소문자 변환)을 적용한다.
- 최종 결과를 반환한다.
'iOS 앱 개발자 프로젝트 > 알고리즘 코드카타' 카테고리의 다른 글
[Algorithm] 수열과 구간 쿼리 3 (0) | 2025.01.10 |
---|---|
[Algorithm] 2024 회고 : 나의 잔디구장 (4) | 2024.12.22 |
[Algorithm] 홀짝 구분하기 (3) | 2024.12.04 |
[Algorithm] 문자열 붙여서 출력하기 (w/ Swift) (0) | 2024.12.03 |
[Algorithm] 문자열 반복해서 출력하기 (w/ Swift) (0) | 2024.12.02 |