https://school.programmers.co.kr/learn/courses/30/lessons/140108
1. 내가 작성한 코드
def solution(s):
s = list(s)
result = 0
while len(s) >= 1:
cnt0 = 0 #같을 때
cnt1 = 0 #다를 때
for i in range(0, len(s)):
start = s[0]
if s[i] == start:
cnt0 +=1
else:
cnt1 +=1
if cnt0 == cnt1:
result += 1
del s[:i+1]
cnt0 = 0
cnt1 = 0
break
elif cnt0 != cnt1 and len(set(s)) == 1:
result += 1
del s[i:]
break
return result
슬라이싱과 del 함수를 이용해서 풀었는데 5문제 정도에서 시간초과가 났다.
그래서 구글링을 했는데~~~~내가 개~~~~복잡하게 푼거네 시간초과가 뜰 수 밖에~~😮
+ queue 이용해서 풀 수도 있음
2. 수정코드
def solution(s):
answer = 0
cnt1=0
cnt2=0
for i in s:
if cnt1==cnt2:
answer+=1
k=i
if k==i:
cnt1+=1
else:
cnt2+=1
return answer
3. 메모
나 문자열 문제 너무 약한 거 같다 ㅠㅠ
문자열만 나오면 세상에서 제일 오래걸림,,,,,,,,,,,,,,,,,,,,,,,
'🔅코딩테스트 공부🔅 > ❗프로그래머스(Lv.1)' 카테고리의 다른 글
[프로그래머스] Level1 로또의 최고 순위와 최저 순위(python) (0) | 2023.02.13 |
---|---|
[프로그래머스] Level1 숫자 문자열과 영단어(python) (0) | 2023.02.13 |
[프로그래머스] Level1 개인정보 수집 유효기간(python) (0) | 2023.02.12 |
[프로그래머스] Level1 신고 결과 받기(python) (0) | 2023.02.11 |
[프로그래머스] Level1 성격 유형 검사하기(python) (0) | 2023.02.11 |
댓글