본문 바로가기
프로그래머스/lv.1

(프로그래머스) lv.1 문자열 나누기

by bingual 2024. 1. 15.
반응형

 

https://school.programmers.co.kr/learn/courses/30/lessons/140108

 

프로그래머스

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

programmers.co.kr

문제풀이

def solution(s):
    answer = 0
    x_cnt, y_cnt = 0, 0
    x = ""
    for i in s:
        if not x:
            x = i  # x 값이 정해지지 않았을때 x 값을 정함
        if x == i:
            x_cnt += 1  # x 와 같은 글자가 나올때 x_cnt 카운트
        else:
            y_cnt += 1  # x 와 다른 글자가 나올때 y_cnt 카운트

        # 두 횟수가 같아 지면 answer 카운트 및 x 초기화
        if x_cnt != 0 and y_cnt != 0 and x_cnt == y_cnt:
            answer += 1
            x = ""
    # 두 횟수가 다른 상태로 배열의 끝에 도달 했다면 answer 카운트
    if x_cnt != y_cnt:
        answer += 1

    return answer