Problem Solving/BOJ & Programmers

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

geum 2022. 12. 12. 00:28

๋ฌธ์ œ

 

์ž…์ถœ๋ ฅ ์˜ˆ์‹œ

 

๊ฐœ์ธ์ ์œผ๋กœ๋Š” '์ž…์ถœ๋ ฅ ์˜ˆ #2'๊ฐ€ ๊นŒ๋‹ค๋กœ์› ๋‹ค ๐Ÿฅฒ

 

ํ’€์ด

์ฒ˜์Œ์—๋Š” x=s[0]์œผ๋กœ ๋ฏธ๋ฆฌ ํ• ๋‹นํ•ด๋†“๊ณ  s[1:]์„ for๋ฌธ ๋Œ๋ฆฌ๋ฉด์„œ ๋ฌธ์ž ํ•˜๋‚˜ํ•˜๋‚˜๋ฅผ x์™€ ๋น„๊ตํ•˜๋Š” ๋ฐฉ์‹์„ ์ผ๋‹ค. ์ด ๋ฐฉ๋ฒ•์œผ๋กœ ํ•˜๋‹ˆ๊นŒ s ๊ธธ์ด๊ฐ€ 1์ผ ๋•Œ ์ธ๋ฑ์Šค ์—๋Ÿฌ๊ฐ€ ๊ณ„์† ๋–ด๋Š”๋ฐ, ์ธ๋ฑ์Šค ์—๋Ÿฌ๊ฐ€ ๋„์ €ํžˆ ์•ˆ ์žกํ˜€์„œ ์•„์˜ˆ ์ƒ๊ฐ์„ ๋‹ค์‹œ ํ–ˆ๋‹ค.

 

ํ•ต์‹ฌ์€ '์‹œ์ž‘ ๋ฌธ์ž๋ฅผ ์ •ํ•ด์ฃผ์ง€ ์•Š๋Š” ๊ฒƒ'์ด์—ˆ๋‹ค. for๋ฌธ ์•ˆ์—์„œ x, x_cnt, not_x_cnt ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๋ถ€๋ถ„์ด ํ•œ ๋ฒˆ ๋” ๋‚˜์˜ค๋Š” ๊ฒŒ ๋ถˆํŽธํ•˜์ง€๋งŒ ์ด๊ฑด ๋” ์ค„์ผ ์ˆ˜๊ฐ€ ์—†๋Š” ๋ถ€๋ถ„์ด๋ผ์„œ ์–ด์ฉ” ์ˆ˜ ์—†์—ˆ๋‹ค.

 

def solution(s):
    answer = 0
    
    x_cnt = 0
    not_x_cnt = 0

    x = ''
    
    for alphabet in s:
        if x == '':
            x = alphabet
        
        if alphabet == x:
            x_cnt += 1
        else:
            not_x_cnt += 1
        
        if x_cnt == not_x_cnt:
            answer += 1
            
            x = ''
            x_cnt = 0
            not_x_cnt = 0
        
    if x:
        answer += 1
    
    return answer