[프로그래머스] 문자열 나누기

2023. 2. 12. 22:17·Coding Test/Programmers_Python
728x90


문제


코드 설계 유의사항

1. 첫 글자를 담고, 이를 세는 변수 추가, 다음 글자가 같다면 새로 담지 않고 세는 변수를 1 증가

2. 첫 글자와 다른 글자가 나온 횟수 변수 추가, 첫 글자 count 변수과 값이 같아지면 첫 번째 문자 값을 옮긴 후 분리하기

3. 분리 할 때마다 이를 세는 변수를 증가시키고, 분해하지 못하면 종료하기


코드

# 풀이 추가
def solution(s):
    # count 할 배열 미리 생성, 처음에는 첫 번째 글자 저장
    # 두 번째와 세 번째에는 각각 s[0]과 동일하고, 다른 문자를 세는 자리이다
    answer = 0
    count = [s[0], 0, 0]
    # count에 저장된 변수들의 조건에 맞게 작성하고 문제에 나온 조건에 따라 마지막에 한 번 더 분리한다
    for i in range(len(s)-1):
        if count[0] == s[i]:
            count[1] += 1
        else:
            count[2] += 1
        if count[1] == count[2]:
            answer += 1
            count = [s[i+1], 0, 0]
    answer += 1
    return answer

문제를 풀다보면 굳이 문자를 나눠야 하나 싶었다

count한 수들이 같아지면 분리하는 것 대신 확인해야 할 첫 번째 index를 바로 다음으로 보내버리면 되는 것이었다

문제에 적힌 마지막에 두 수가 달라도 분리하고 종료하라는 조건이 들어가서 마지막에 +1을 더해주었다

그렇게 해서 전체반복없이 코드 작성이 완료되었다


출력

수많은 테스트 케이스에도 끄덕없는 코드가 완성되었다 !


End

728x90
저작자표시 비영리 변경금지 (새창열림)

'Coding Test > Programmers_Python' 카테고리의 다른 글

[프로그래머스] 2021 KAKAO BLIND RECRUITMENT - 신규 아이디 추천  (0) 2023.02.12
[프로그래머스] 2019 카카오 개발자 겨울 인턴십 - 크레인 인형뽑기 게임  (0) 2023.02.12
[프로그래머스] 2020 카카오 인턴십 - 키패드 누르기  (0) 2023.02.12
[Python] 오늘의 연습 문제 풀기 5편  (0) 2022.12.01
[Python] 프로그래머스 코딩테스트 입문 Day1  (0) 2022.12.01
'Coding Test/Programmers_Python' 카테고리의 다른 글
  • [프로그래머스] 2021 KAKAO BLIND RECRUITMENT - 신규 아이디 추천
  • [프로그래머스] 2019 카카오 개발자 겨울 인턴십 - 크레인 인형뽑기 게임
  • [프로그래머스] 2020 카카오 인턴십 - 키패드 누르기
  • [Python] 오늘의 연습 문제 풀기 5편
ThreeLight
ThreeLight
ThreeLight Studio의 블로그, TimeMap.exe에 오신 것을 환영합니다.
  • ThreeLight
    TimeMap.exe
    ThreeLight
  • 전체
    오늘
    어제
    • 분류 전체보기 (245)
      • Checkpoint (1)
      • (3D)Dev Deep Dive (0)
        • Templates & Guides (9)
        • Frontend origin (9)
        • Backend origin (1)
        • TroubleShootings (4)
      • Development Study (95)
        • Frontend (36)
        • Backend (21)
        • CS(Computer Science) (2)
        • Background Knowledges (11)
        • Algorithm (2)
        • Mobile (3)
        • AWS (6)
        • Python (6)
        • MSW(MapleStoryWorlds) (8)
      • Coding Test (59)
        • 문제.zip (1)
        • BaekJoon_JavaScript (0)
        • Programmers_JavaScript (9)
        • BaekJoon_Python (23)
        • Programmers_Python (10)
        • Undefined_Python (3)
        • Programmers_SQL (13)
      • 활동내역.zip (43)
        • 개인 (21)
        • Techeer (12)
        • Bootcamp (7)
        • Hackathon (1)
        • TeamProjects (2)
      • 여기 괜찮네??(사이트 | App) (5)
      • 재미있는 주제들 (8)
      • 개발 외 공부 저장소 (11)
        • 생산운영관리 (3)
        • 생활속의금융 (6)
        • 경영정보시스템 (2)
  • 링크

    • TimeMap.dmg (Portfolio)
    • GitHub 바로가기
    • 오픈프로필(카카오톡)
    • Medium 바로가기
    • Disquiet 바로가기
    • LinkedIn 바로가기
  • 인기 글

  • 태그

    HTML
    react
    프로그래머스
    programmers
    SQL
    Baek Joon
    JavaScript
    TypeScript
    CSS
    Python
  • 최근 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.1
ThreeLight
[프로그래머스] 문자열 나누기
상단으로

티스토리툴바