머신러닝 개발자의 러닝머신

[프로그래머스: 문자열 나누기](Python) 본문

알고리즘/프로그래머스

[프로그래머스: 문자열 나누기](Python)

oongsong 2023. 4. 12. 23:17
반응형

문제 

링크 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제 풀이 

  1. cnt1, cnt2= 0, 0, tmp = ""으로 초기화 
  2. 문자열 하나씩 돌면서 tmp가 없으면 tmp를 해당 문자로 넣고 cnt1 = 1 
  3. tmp 있으면 비교
    1. tmp가 있는경우 같은지 확인-> 같으면 cnt1 += 1, 다르면 cnt2 += 1 
    2. cnt1 == cnt2 이면 ans+1 , cnt1, cnt2= 0, 0 tmp ="" 으로 초기화 
  4. 모든 문자열 순회 후 tmp 남아 있으면 ans + 1

 

코드 

def solution(s):
    answer = 0
    
    cnt1, cnt2 = 0, 0
    tmp = ""
    for charac in s:
        if not tmp:
            tmp = charac
            cnt1  = 1
            continue 
        if charac == tmp:
            cnt1 += 1
        else:
            cnt2 += 1
        
        if cnt1 == cnt2:
            answer += 1
            tmp = ""
            cnt1, cnt2 = 0, 0
    if tmp:
        answer += 1
    
    return answer
반응형