대문자와 소문자
문제 설명
문자열 my_string이 매개변수로 주어질 때, 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 return 하도록 solution 함수를 완성해 주세요.
제한 사항
- 1 ≤ my_string의 길이 ≤ 1,000
- my_string은 영어 대문자와 소문자로만 구성되어 있습니다.
입출력 예
my_string | result |
"cccCCC" | "CCCccc" |
"abCdEfghIJ" | "ABcDeFGHij" |
입출력 예 설명
입출력 예 #1
- 소문자는 대문자로 대문자는 소문자로 바꾼 "CCCccc"를 return 합니다.
입출력 예 #2
- 소문자는 대문자로 대문자는 소문자로 바꾼 "ABcDeFGHij"를 return합니다.
제출
import Foundation
func solution(_ my_string:String) -> String {
var answer = ""
for s in my_string{
if 65 <= s.asciiValue! && s.asciiValue! <= 90{
answer += s.lowercased()
}else{
answer += s.uppercased()
}
}
return answer
}
입력받은 문자열의 문자를 하나씩 비교하며, 아스키코드 값이 65 이상 90 이하 라면 대문자이기 때문에 문자를 소문자로 바꾼 후 answer 변수에 추가한다.
아니라면 문자를 대문자로 바꿔 answer에 추가한다.
다른 풀이
import Foundation
func solution(_ my_string:String) -> String {
var result = ""
for c in my_string {
let s = String(c)
let lo = s.lowercased()
let up = s.uppercased()
result += (s == lo) ? up : lo
}
return result
}
입력받은 문자열의 문자를 하나씩 비교하며, 문자를 대문자, 소문자로 변경해 각각 변수에 저장한다.
문자와 소문자로 변환한 문자가 동일하면, 대문자로 변환한 문자를 아니라면 소문자로 변환한 문자를 result 변수에 추가한다.
반응형
'📖 Coding Test > Programmers LV.0' 카테고리의 다른 글
[프로그래머스 LV.0] 인덱스 바꾸기 (0) | 2023.01.10 |
---|---|
[프로그래머스 LV.0] 영어가 싫어요 (0) | 2023.01.10 |
[프로그래머스 LV.0] 암호 해독 (0) | 2023.01.09 |
[프로그래머스 LV.0] 369게임 (0) | 2023.01.09 |
[프로그래머스 LV.0] 가까운 수 (0) | 2023.01.09 |
댓글