๐Ÿ—๏ธ Algorithm/๐ŸŸฆ ์ด๊ฒƒ์ด ์ทจ์—…์„ ์œ„ํ•œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ

[์ด๊ฒƒ์ด ์ทจ์—…์„ ์œ„ํ•œ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ] [๊ทธ๋ฆฌ๋””] [Python] ๋ฌธ์ž์—ด ๋’ค์ง‘๊ธฐ

Dbswnstjd 2022. 4. 8. 18:58

๋ฌธ์ œ

๋‹ค์†œ์ด๋Š” 0๊ณผ 1๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด S๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๋‹ค์†œ์ด๋Š” ์ด ๋ฌธ์ž์—ด S์— ์žˆ๋Š” ๋ชจ๋“  ์ˆซ์ž๋ฅผ ์ „๋ถ€ ๊ฐ™๊ฒŒ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ๋‹ค์†œ์ด๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ํ–‰๋™์€ S์—์„œ ์—ฐ์†๋œ ํ•˜๋‚˜ ์ด์ƒ์˜ ์ˆซ์ž๋ฅผ ์žก๊ณ  ๋ชจ๋‘ ๋’ค์ง‘๋Š” ๊ฒƒ์ด๋‹ค. ๋’ค์ง‘๋Š” ๊ฒƒ์€ 1์„ 0์œผ๋กœ, 0์„ 1๋กœ ๋ฐ”๊พธ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด S=0001100 ์ผ ๋•Œ,

  1. ์ „์ฒด๋ฅผ ๋’ค์ง‘์œผ๋ฉด 1110011์ด ๋œ๋‹ค.
  2. 4๋ฒˆ์งธ ๋ฌธ์ž๋ถ€ํ„ฐ 5๋ฒˆ์งธ ๋ฌธ์ž๊นŒ์ง€ ๋’ค์ง‘์œผ๋ฉด 1111111์ด ๋˜์–ด์„œ 2๋ฒˆ ๋งŒ์— ๋ชจ๋‘ ๊ฐ™์€ ์ˆซ์ž๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ, ์ฒ˜์Œ๋ถ€ํ„ฐ 4๋ฒˆ์งธ ๋ฌธ์ž๋ถ€ํ„ฐ 5๋ฒˆ์งธ ๋ฌธ์ž๊นŒ์ง€ ๋ฌธ์ž๋ฅผ ๋’ค์ง‘์œผ๋ฉด ํ•œ ๋ฒˆ์— 0000000์ด ๋˜์–ด์„œ 1๋ฒˆ ๋งŒ์— ๋ชจ๋‘ ๊ฐ™์€ ์ˆซ์ž๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

๋ฌธ์ž์—ด S๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋‹ค์†œ์ด๊ฐ€ ํ•ด์•ผํ•˜๋Š” ํ–‰๋™์˜ ์ตœ์†Œ ํšŸ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜์‹œ์˜ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ๋ฌธ์ž์—ด S๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. S์˜ ๊ธธ์ด๋Š” 100๋งŒ๋ณด๋‹ค ์ž‘๋‹ค.

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— ๋‹ค์†œ์ด๊ฐ€ ํ•ด์•ผํ•˜๋Š” ํ–‰๋™์˜ ์ตœ์†Œ ํšŸ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

ํ’€์ด

#  ๋ฌธ์ž์—ด ๋’ค์ง‘๊ธฐ
data = input()
count0 = 0 # ์ „๋ถ€ 0 ์œผ๋กœ ๋ฐ”๊พธ๋Š” ๊ฒฝ์šฐ
count1 = 0 # ์ „๋ถ€ 1๋กœ ๋ฐ”๊พธ๋Š” ๊ฒฝ์šฐ

# ์ฒซ ๋ฒˆ์งธ ์›์†Œ์— ๋Œ€ํ•ด์„œ ์ฒ˜๋ฆฌ
if data[0] == '1':
    count0 += 1
else:
    count1 += 1

# ๋‘ ๋ฒˆ์งธ ์›์†Œ๋ถ€ํ„ฐ ๋ชจ๋“  ์›์†Œ๋ฅผ ํ™•์ธํ•˜๋ฉฐ
for i in range(len(data) -1 ):
    if data[i] != data[i+1]:
        # ๋‹ค์Œ ์ˆ˜์—์„œ 1๋กœ ๋ฐ”๋€Œ๋Š” ๊ฒฝ์šฐ
        if data[i+1] == '1':
            count0 += 1
        # ๋‹ค์Œ ์ˆ˜์—์„œ 0์œผ๋กœ ๋ฐ”๋€Œ๋Š” ๊ฒฝ์šฐ
        else:
            count1 += 1
    
print(min(count0, count1))