Swift | programmers/Lv1.
[Swift] Lv.1 문자열 내 p와 y의 개수
iOSDEv
2024. 2. 20. 11:04
문제


나의 풀이
import Foundation
func solution(_ s:String) -> Bool
{
return s.lowercased().filter({ $0 == "p" }).count == s.lowercased().filter({ $0 == "y" }).count ? true : false
}
다른 사람 풀이
import Foundation
func solution(_ s:String) -> Bool
{
let string = s.lowercased()
return string.components(separatedBy: "p").count == string.components(separatedBy: "y").count
}
- components(seperatedBy:)
- 문자열 나누기 중 배열을 반환한다
- 반환값은 NSArray로 나누어진 수신자의 하위 문자열을 포함하는 객체


-를 찾아 잘라주고 -앞에 하나의 배열에 추가시켜준다


import Foundation
func solution(_ s:String) -> Bool
{
var flag: Int = 0
for ch in s.uppercased().sorted() {
switch ch {
case "P":
flag += 1
case "Y":
flag -= 1
default:
break
}
}
return flag == 0
}
import Foundation
func solution(_ s:String) -> Bool
{
var ans:Bool = false
var pCount = 0
var yCount = 0
for char in s.lowercased() {
if char == "p" {
pCount += 1
}
if char == "y" {
yCount += 1
}
}
if pCount == yCount {
ans = true
}
return ans
}
위 두개는 정석적인 답이라고 생각이 든다
import Foundation
func solution(_ s:String) -> Bool
{
var count = 0
for char in s {
if String(char).lowercased() == "p" {
count += 1
} else if String(char).lowercased() == "y" {
count -= 1
}
}
return count == 0 ? true : false
}