반응형
안녕하세요. 개발 중인 정주입니다.
오늘은 문자열 내 p와 y의 개수 문제를 풀었습니다.
목차
Github
문제 링크
https://programmers.co.kr/learn/courses/30/lessons/12916
풀이
해당 문제는 filter를 이용하여 해결했습니다.
다른 사람의 코드에서는 lowercased()를 써서 대소문자 구분을 없앴는데요.
lowercased()의 시간복잡도는 O(n)으로 이 문제에서는 시간 초과를 걱정할 일이 없지만 시간이 늘어나는 것은 사실입니다.
따라서 저는 논리연산자 ||를 사용하여 속도 손해 보지 않고 직관적으로 표현이 가능해봤습니다.
전체 코드
import Foundation
func solution(_ s:String) -> Bool
{
let pCount = Array(s).filter { $0 == "p" || $0 == "P" }.count
let yCount = Array(s).filter { $0 == "y" || $0 == "Y" }.count
return pCount == yCount
}
아직은 초보 개발자입니다.
더 효율적인 코드 훈수 환영합니다!
공감과 댓글 부탁드립니다.
반응형