์•Œ๊ณ ๋ฆฌ์ฆ˜ ๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ฝ”๋“œ ์ฒ˜๋ฆฌํ•˜๊ธฐ

flowing1ife 2024. 3. 28. 14:10

๋ฌธ์ œ

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

 

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

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr


ํ’€์ด

def solution(code):
    ret = ''
    mode = 0
    
    for idx in range(len(code)):
        if mode == 0:
            if code[idx] != '1':
                if idx % 2 == 0:
                    ret += code[idx]
            else:
                mode = 1
        else:
            if code[idx] != '1':
                if idx % 2 == 1:
                    ret += code[idx]

            else:
                mode = 0

    
    return ret if ret != '' else "EMPTY"

1. ret, mode ์ดˆ๊ธฐํ™”

2. code ๊ธธ์ด๋งŒํผ ๋ฐ˜๋ณต

  • ๋งŒ์•ฝ mode ๊ฐ€ 0์ด๋ผ๋ฉด
    • ๋งŒ์•ฝ code์— ํ•ด๋‹นํ•˜๋Š” ๊ธ€์ž๊ฐ€ 1์ด ์•„๋‹ˆ๋ผ๋ฉด ( ์ด๋•Œ, ๋ฌธ์ž์—ด์ด๋ฏ€๋กœ 1 ์ด ์•„๋‹Œ '1'๊ณผ ๋น„๊ตํ•ด์•ผํ•จ)
      1. ๋งŒ์•ฝ idx๊ฐ€ ์ง์ˆ˜๋ผ๋ฉด ret ๋ฌธ์ž์—ด ๋’ค์— code[idx]๋ฅผ ๋ถ™์ž„
    • ๋งŒ์•ฝ code์— ํ•ด๋‹นํ•˜๋Š” ๊ธ€์ž๊ฐ€ 1์ด๋ผ๋ฉด mode ๋ฅผ 0์—์„œ 1๋กœ ๋ฐ”๊ฟˆ
  • ๋งŒ์•ฝ mode๊ฐ€ 1์ด๋ผ๋ฉด
    • ๋งŒ์•ฝ code์— ํ•ด๋‹นํ•˜๋Š” ๊ธ€์ž๊ฐ€ 1์ด ์•„๋‹ˆ๋ผ๋ฉด ( ์ด๋•Œ, ๋ฌธ์ž์—ด์ด๋ฏ€๋กœ 1 ์ด ์•„๋‹Œ '1'๊ณผ ๋น„๊ตํ•ด์•ผํ•จ)
      1. ๋งŒ์•ฝ idx๊ฐ€ ํ™€์ˆ˜๋ผ๋ฉด ret ๋ฌธ์ž์—ด ๋’ค์— code[idx]๋ฅผ ๋ถ™์ž„
    • ๋งŒ์•ฝ code์— ํ•ด๋‹นํ•˜๋Š” ๊ธ€์ž๊ฐ€ 1์ด๋ผ๋ฉด mode ๋ฅผ 1์—์„œ 0์œผ๋กœ ๋ฐ”๊ฟˆ

3. ๋งŒ์•ฝ ret์ด ๋นˆ ๋ฌธ์ž์—ด์ด ์•„๋‹ˆ๋ผ๋ฉด ret์„, ์•„๋‹ˆ๋ผ๋ฉด "EMPTY"๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.