728x90
[Swift] 프로그래머스 JadenCase 문자열 만들기(lv. 2)
1. 문제
https://school.programmers.co.kr/learn/courses/30/lessons/12951
2. 접근
첫 문자만 대문자이고, 나머지는 소문자인 문자열을 만들면 된다. 숫자가 맨 처음 문자이면 숫자는 그대로 쓰면 된다. 문자열 처리하는 문제이기 때문에, components를 잘 활용하고, 첫 문자가 문자인지 숫자인지 구별해서 잘 처리해주면 된다.
만약 첫문자가 숫자라면, 단순히 lowercased()로만 해도 충분하지만, 맨 처음 문자가 문자라면, 첫 문자는 대문자로 만들어주어야 한다. 아래 코드의 반복문 내부의 조건문은 각 단어의 첫 글자가 '문자'일 경우, 임시 변수를 활용해서 하나의 글자만 대문자로 만들어서 바꾸어준다.
마지막에 array를 joined() 하면 하나의 문자열로 붙어서 나오게 된다.
단순한 문자열 처리 문제였다.
3. 코드
import Foundation
func solution(_ s:String) -> String {
var array = s.components(separatedBy: " ").map({ $0.lowercased() })
var j = 0
for i in array {
if i.first?.isLetter != nil {
var temp = Array(i)
temp[0] = Character(String(temp[0]).uppercased())
array[j] = String(temp)
}
j += 1
}
return array.joined(separator: " ")
}
728x90
'Problem Solving' 카테고리의 다른 글
[Swift] 프로그래머스 올바른 괄호(lv. 2) (0) | 2023.03.01 |
---|---|
[Swift] 프로그래머스 최솟값 만들기(lv. 2) (0) | 2023.02.28 |
[Swift] 프로그래머스 햄버거 만들기(lv. 1) (0) | 2023.02.25 |
[Swift] 프로그래머스 개인정보 수집 유효기간(lv. 1) (0) | 2023.02.24 |
[Swift] 프로그래머스 신고 결과 받기(lv. 1) (0) | 2023.02.23 |
댓글