1. 대문자로 바꾸기
알파벳으로 이루어진 문자열 myString이 주어집니다. 모든 알파벳을 대문자로 변환하여 return 하는 solution 함수를 완성해 주세요.
제한사항
- 1 ≤ myString의 길이 ≤ 100,000
- myString은 알파벳으로 이루어진 문자열입니다.
입출력 예
myString | result |
"aBcDeFg" | "ABCDEFG" |
"AAA" | "AAA" |
제출 답안
import Foundation
func solution(_ myString:String) -> String {
return myString.uppercased()
}
2. 소문자로 바꾸기
알파벳으로 이루어진 문자열 myString이 주어집니다. 모든 알파벳을 소문자로 변환하여 return 하는 solution 함수를 완성해 주세요.
제한사항
- 1 ≤ myString의 길이 ≤ 100,000
- myString은 알파벳으로 이루어진 문자열입니다.
입출력 예
myString | result |
"aBcDeFg" | "abcdefg" |
"aaa" | "aaa" |
제출 답안
import Foundation
func solution(_ myString:String) -> String {
return myString.lowercased()
}
3. 배열에서 문자열 대소문자 변환하기
문자열 배열 strArr가 주어집니다. 모든 원소가 알파벳으로만 이루어져 있을 때, 배열에서 홀수번째 인덱스의 문자열은 모든 문자를 대문자로, 짝수번째 인덱스의 문자열은 모든 문자를 소문자로 바꿔서 반환하는 solution 함수를 완성해 주세요.
제한사항
- 1 ≤ strArr ≤ 20
- 1 ≤ strArr의 원소의 길이 ≤ 20
- strArr의 원소는 알파벳으로 이루어진 문자열 입니다.
입출력 예
strArr | result |
["AAA","BBB","CCC","DDD"] | ["aaa","BBB","ccc","DDD"] |
["aBc","AbC"] | ["abc","ABC"] |
입출력 예 설명
입출력 예 #1
- strArr[0]과 strArr[2]는 짝수번째 인덱스의 문자열이므로 모두 소문자로 바꿔서 "aaa"와 "ccc"가 됩니다.
- strArr[1]과 strArr[3]는 홀수번째 인덱스의 문자열인데 원래 대문자이므로 그대로 둡니다.
- 따라서 ["aaa","BBB","ccc","DDD"]를 return 합니다.
입출력 예 #2
- strArr[0]은 짝수번째 인덱스의 문자열이므로 소문자로 바꿔서 "abc"가 됩니다.
- strArr[1]은 홀수번째 인덱스의 문자열이므로 대문자로 바꿔서 "ABC"가 됩니다.
- 따라서 ["abc","ABC"]를 return 합니다.
제출 답안
import Foundation
func solution(_ strArr: [String]) -> [String] {
// enumerated()로 문자열과 인덱스 가져온다
return strArr.enumerated().map { index, str in
return index % 2 == 0 ? str.lowercased() : str.uppercased()
}
}
4. A 강조하기
문자열 myString이 주어집니다. myString에서 알파벳 "a"가 등장하면 전부 "A"로 변환하고, "A"가 아닌 모든 대문자 알파벳은 소문자 알파벳으로 변환하여 return 하는 solution 함수를 완성하세요.
제한사항
- 1 ≤ myString의 길이 ≤ 20
- myString은 알파벳으로 이루어진 문자열입니다.
입출력 예
myString | result |
"abstract algebra" | "AbstrAct AlgebrA" |
"PrOgRaMmErS" | "progrAmmers" |
입출력 예 설명
입출력 예 #1
- 0번, 5번, 9번, 15번 인덱스의 "a"는 소문자이므로 전부 대문자로 고쳐줍니다.
- 다른 문자들은 전부 "a"가 아닌 소문자이므로 바꾸지 않습니다.
- 따라서 "AbstrAct AlgebrA"를 return 합니다.
입출력 예 #2
- 0번, 2번, 4번, 6번, 8번, 10번 인덱스의 문자들은 "A"가 아닌 대문자이므로 전부 소문자로 고쳐줍니다.
- 5번 인덱스의 "a"는 소문자이므로 대문자로 고쳐줍니다.
- 다른 문자들은 전부 "a"가 아닌 소문자이므로 바꾸지 않습니다.
- 따라서 "progrAmmers"를 return 합니다.
제출 답안
import Foundation
func solution(_ myString: String) -> String {
return myString.map { char in
if char == "a" {
return "A"
} else if char == "A" {
return "A"
} else {
return char.lowercased()
}
}.joined() // 배열로 변환된 문자를 다시 문자열로 만든다
}
5. 특정한 문자를 대문자로 바꾸기
영소문자로 이루어진 문자열 my_string과 영소문자 1글자로 이루어진 문자열 alp가 매개변수로 주어질 때, my_string에서 alp에 해당하는 모든 글자를 대문자로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.
제한사항
- 1 ≤ my_string의 길이 ≤ 1,000
입출력 예
my_string | alp | result |
"programmers" | "p" | "Programmers" |
"lowercase" | "x" | "lowercase" |
입출력 예 설명
입출력 예 #1
- 예제 1번의 my_string은 "programmers"이고 alp가 "p"이므로 my_string에 모든 p를 대문자인 P로 바꾼 문자열 "Programmers"를 return 합니다.
입출력 예 #2
- 예제 2번의 alp는 "x"이고 my_string에 x는 없습니다. 따라서 "lowercase"를 return 합니다.
제출 답안
import Foundation
func solution(_ my_string: String, _ alp: String) -> String {
// alp를 alp.uppercased()로 변환
return my_string.replacingOccurrences(of: alp, with: alp.uppercased())
}

'프로그래머스 기초문제' 카테고리의 다른 글
[프로그래머스 기초문제] Day 18 문자열 (0) | 2025.03.11 |
---|---|
[프로그래머스 기초문제] Day 17 문자열 (0) | 2025.03.10 |
[프로그래머스 기초문제] Day 15 리스트(배열), 문자열 (0) | 2025.03.06 |
[프로그래머스 기초문제] Day 14 리스트(배열) (0) | 2025.03.06 |
[프로그래머스 기초문제] Day 13 리스트(배열) (0) | 2025.03.04 |