728x90
반응형
programmers.co.kr/learn/courses/30/lessons/12916
안녕하세요! 후르륵짭짭 입니다.
이번에는 새롭게 배운 문자열 함수인 lowercased()와 uppercased()를 알아보려 합니다.
이 문제를 풀 때, 저런 좋은 문자열 함수가 있는지 몰라서 그냥 풀었습니다.
func solution(_ s:String) -> Bool
{
let array = Array(s)
var cntP = 0
var cntY = 0
for index in array{
if index == "p" || index == "P" {
cntP += 1
}
else if index == "y" || index == "Y"{
cntY += 1
}
// print(index , terminator : " ")
}
if cntP == cntY {
return true
}
return false
}
딱히 엄청 좋아 보이는 코드는 아니지만 그냥 단순 비교 입니다.
그런데 대소문자를 구분하기 싫을 때, lowercase를 통해 대문자를 소문자로 바꿔주는 것이 있다는 것을 알게 되었습니다.
(반대는 uppercase 입니다.)
func solution2(_ s:String) -> Bool {
let lowerS = s.lowercased()
print(lowerS)
let componentP = lowerS.components(separatedBy: "p")
let componentY = lowerS.components(separatedBy: "y")
return componentP.count == componentY.count
}
이렇게 입력을 소문자로 변경해주고 components 함수로 구분해줘서 배열로 만들어 줍니다.
그리고 각각의 배열의 갯수를 비교해줍니다.
developer.apple.com/documentation/swift/string/1641392-lowercased
developer.apple.com/documentation/swift/string/1640996-uppercased
728x90
반응형
'Xcode > Swift - Algorithm' 카테고리의 다른 글
Swift) LeetCode(Easy) - Maximum Subarray(DP) (0) | 2020.07.08 |
---|---|
Swift) LeetCode(Easy) - Two Sum (Dictionary) (0) | 2020.07.08 |
Swift) 프로그래머스(Lv1) 문자열 내 마음대로 정렬하기 (Sort) (0) | 2020.07.07 |
Swift ) BOJ- 11053 가장 긴 증가하는 부분 수열(Lower Bound) (0) | 2020.07.03 |
Swift)BOJ - 1699 제곱수의 합(DP) (0) | 2020.07.03 |
댓글