/ 제출 1 /
def solution(s):
pCount = 0
yCount = 0
for char in s:
if char == 'p' or char == 'P':
pCount += 1
elif char == 'y' or char == 'Y':
yCount += 1
if pCount == 0 and yCount == 0:
return True
elif pCount == yCount:
return True
else:
return False
채점 결과
정확성: 100.0
합계: 100.0 / 100.0
정말 간단한 문제였습니다. 문제 이해하는 데에 별 다른 시간이 소요되지 않는 문제였던 것 같습니다.
대신 어떻게 다양한 방식으로 언어를 활용해볼 지(문법을 다양하게 적용해볼 지) 생각해 볼 수 있을 것 같습니다.
/ 제출 2 /
def solution(s):
pCount = 0
yCount = 0
for char in s:
if char.upper() == 'P': # 이렇게 대문자로 맞추거나
pCount += 1
elif char.lower() == 'y': # 이렇게 소문자로 하는 방식도 있습니다.
yCount += 1
if pCount != yCount:
return False
else:
return True
채점 결과
정확성: 100.0
합계: 100.0 / 100.0
제출 1처럼 알파벳을 대문자에 한 번, 소문자에 한 번 하는 것이 아니라 알파벳 자체를 변환해서 체크할 수도 있습니다.
p와 y 각각 대문자, 소문자를 적용시켜봤습니다.
pCount와 yCount도 문제를 다시 보니 False 를 리턴하는 경우가 되게 특정되는 것을 확인해 간단하게 바꿔줬습니다.
더 직관적이게도 바꿔볼 수도 있을 것 같습니다.
/ 제출 3 /
def solution(s):
pCount = 0
yCount = 0
for char in s:
if char.upper() == 'P': # 이렇게 대문자로 맞추거나
pCount += 1
elif char.lower() == 'y': # 이렇게 소문자로 하는 방식도 있습니다.
yCount += 1
return pCount == yCount
채점 결과
정확성: 100.0
합계: 100.0 / 100.0
네 어차피 비교연산에서 boolean값을 반환하므로, 두 값이 같지 않은 경우에만 false하고 나머지는 true를 return하게 했습니다.
베이직하지만 생각 정리하는 연습을 해볼 수 있었습니다.
'CodingTest > Programmers' 카테고리의 다른 글
[ 프로그래머스 ] 짝지어 제거하기 (0) | 2022.07.18 |
---|---|
[ 프로그래머스 ] 서울에서 김서방 찾기 (0) | 2022.07.18 |
[ 프로그래머스 ] 스킬체크 탄탄한 비기너 (0) | 2022.07.15 |
[ 프로그래머스 ] 스킬체크 굿스타터 (0) | 2022.07.07 |
[ 프로그래머스 ] 문자열 내 마음대로 정렬하기 (0) | 2022.07.05 |