10/17 문자열 내 p와 y찾기
https://school.programmers.co.kr/learn/courses/30/lessons/12916
제목과 같이 문자열에 ‘p’와 ‘y’의 개수를 비교해 같으면 True, 다르면 False, 둘다 없다면 True를 리턴하는 문제다..
처음에 작성한 코드는
def solution(string) :
answer = True
string = string.lower()
if 'p' in string or 'y' in string :
p = string.count('p')
y = string.count('y')
if (p != y) :
answer = False
return answer
이렇게 작성했는데 UnboundLocalError(변수의 scope를 벗어났을 때 생기는 에러)가 떴다. 그 이유는 처음 if문 안에서 p와 y를 할당했지만 해당 if문 밖에서 p와 y를 사용해 사용 가능한 scope를 벗어나서 생긴 에러였다.
정답 코드
def solution(string) :
answer = True
string = string.lower()
p = string.count('p')
y = string.count('y')
if (p != y) :
answer = False
return answer
다른 사람의 풀이
def solution(s) :
return s.lower().count('p') == s.lower().count('y')
아.. 문자열 내에 p와 y 둘다 없을 경우 0으로 같기때문에 이렇게 작성해도 상관이 없구나.. 한줄풀이 대박이다.
댓글남기기