Tiny Bunny [Python] ๋ฌธ์ž์—ด ๋‚˜๋ˆ„๊ธฐ
๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
programmers/Lv.1

[Python] ๋ฌธ์ž์—ด ๋‚˜๋ˆ„๊ธฐ

by maesil 2025. 4. 19.

๋ฌธ์ œ ์„ค๋ช…

 

๋ฌธ์ž์—ด s๊ฐ€ ์ž…๋ ฅ๋˜์—ˆ์„ ๋•Œ ๋‹ค์Œ ๊ทœ์น™์„ ๋”ฐ๋ผ์„œ ์ด ๋ฌธ์ž์—ด์„ ์—ฌ๋Ÿฌ ๋ฌธ์ž์—ด๋กœ ๋ถ„ํ•ดํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

  • ๋จผ์ € ์ฒซ ๊ธ€์ž๋ฅผ ์ฝ์Šต๋‹ˆ๋‹ค. ์ด ๊ธ€์ž๋ฅผ x๋ผ๊ณ  ํ•ฉ์‹œ๋‹ค.
  • ์ด์ œ ์ด ๋ฌธ์ž์—ด์„ ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ฝ์–ด๋‚˜๊ฐ€๋ฉด์„œ, x์™€ x๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๊ธ€์ž๋“ค์ด ๋‚˜์˜จ ํšŸ์ˆ˜๋ฅผ ๊ฐ๊ฐ ์…‰๋‹ˆ๋‹ค. ์ฒ˜์Œ์œผ๋กœ ๋‘ ํšŸ์ˆ˜๊ฐ€ ๊ฐ™์•„์ง€๋Š” ์ˆœ๊ฐ„ ๋ฉˆ์ถ”๊ณ , ์ง€๊ธˆ๊นŒ์ง€ ์ฝ์€ ๋ฌธ์ž์—ด์„ ๋ถ„๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • s์—์„œ ๋ถ„๋ฆฌํ•œ ๋ฌธ์ž์—ด์„ ๋นผ๊ณ  ๋‚จ์€ ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ ์ด ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค. ๋‚จ์€ ๋ถ€๋ถ„์ด ์—†๋‹ค๋ฉด ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.
  • ๋งŒ์•ฝ ๋‘ ํšŸ์ˆ˜๊ฐ€ ๋‹ค๋ฅธ ์ƒํƒœ์—์„œ ๋” ์ด์ƒ ์ฝ์„ ๊ธ€์ž๊ฐ€ ์—†๋‹ค๋ฉด, ์—ญ์‹œ ์ง€๊ธˆ๊นŒ์ง€ ์ฝ์€ ๋ฌธ์ž์—ด์„ ๋ถ„๋ฆฌํ•˜๊ณ , ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์ž์—ด s๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์œ„ ๊ณผ์ •๊ณผ ๊ฐ™์ด ๋ฌธ์ž์—ด๋“ค๋กœ ๋ถ„ํ•ดํ•˜๊ณ , ๋ถ„ํ•ดํ•œ ๋ฌธ์ž์—ด์˜ ๊ฐœ์ˆ˜๋ฅผ return ํ•˜๋Š” ํ•จ์ˆ˜ solution์„ ์™„์„ฑํ•˜์„ธ์š”.

 

 

์ž…์ถœ๋ ฅ ์˜ˆ

s result
"banana" 3
"abracadabra" 6
"aaabbaccccabba" 3

 

 

์ œ์ถœ ๋‚ด์—ญ

def solution(s):
    answer = 0
    i = 0

    while i < len(s):
        x = s[i]
        x_count = 1
        not_x_count = 0
        i += 1

        while i < len(s):
            if s[i] == x:
                x_count += 1
            else:
                not_x_count += 1
            i += 1

            if x_count == not_x_count:
                break
        answer += 1
    return answer

 

๋งจ ์ฒ˜์Œ s[0]์„ x์œผ๋กœ ์„ค์ •ํ•˜๊ณ  i += 1

s[1]๊ฐ€ x์™€ ๊ฐ™์œผ๋ฉด x_count += 1 ์•„๋‹ˆ๋ฉด not_x_count += 1

x_count์™€ not_x_count์˜ ์ˆ˜๊ฐ€ ๊ฐ™์•„์ง€๋ฉด break ํ›„ answer += 1

 

 

๋‹ค๋ฅธ ํ’€์ด

def solution(s):
    answer = 0
    sav1 = 0
    sav2 = 0
    
    for i in s:
        if sav1 == sav2:
            answer += 1
            a = i
        if i == a:
            sav1 += 1
        else:
            sav2 += 1
    return answer

 

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค > ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต > ์—ฐ์Šต๋ฌธ์ œ

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

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

SW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„

programmers.co.kr

 

'programmers > Lv.1' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Python] ๋Œ€์ถฉ ๋งŒ๋“  ์žํŒ  (0) 2025.04.19
[Python] ๋‘˜๋งŒ์˜ ์•”ํ˜ธ  (0) 2025.04.19
[Python] ์˜น์•Œ์ด (2)  (0) 2025.04.16
[Python] ์†Œ์ˆ˜ ์ฐพ๊ธฐ  (0) 2025.04.12
[Python] ๋ง์น ํ•˜๊ธฐ  (0) 2025.04.10