์ƒˆ์†Œ์‹

๐Ÿงฎ ์•Œ๊ณ ๋ฆฌ์ฆ˜/-- ๋ฐฑ์ค€ (BOJ) - Swift

(swift) [๋ฐฑ์ค€/Boj] 1439๋ฒˆ : ๋’ค์ง‘๊ธฐ

  • -

๋ฌธ์ œ ๋งํฌ

https://www.acmicpc.net/problem/1439

 

1439๋ฒˆ: ๋’ค์ง‘๊ธฐ

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

www.acmicpc.net

 

๋‚œ์ด๋„ : Silver 5

 

 

์Šค์œ„ํ”„ํŠธ ์ฝ”๋“œ(swift)

flag๋ฅผ ํ†ตํ•ด ์—ฐ์†๋œ ์ˆ˜์—ด์ธ์ง€ ํŒŒ์•…ํ•œ๋‹ค. flag๋Š” ๋ฐ”๋กœ ์ด์ „์˜ ์ˆ˜๊ฐ€ 0์ด์—ˆ๋Š”์ง€, 1์ด์—ˆ๋Š”์ง€๋ฅผ ์ž„์‹œ์ ์œผ๋กœ ๊ธฐ์–ตํ•˜๋Š” ์šฉ๋„์ด๋‹ค.

import Foundation
func parse(_ arr: Array<String>)->Int{
    var zeroPart = 0
    var onePart = 0
    var flag = 0
    
    if arr[0] == "0" {
        flag = 0
        zeroPart += 1
    }else {
        flag = 1
        onePart += 1
    }

    for i in arr{
        if (i == "0" && flag == 1){
            flag = 0
            zeroPart += 1
        }else if (i == "1" && flag == 0){
            flag = 1
            onePart += 1
        }else{continue}
    }
    return min(zeroPart, onePart)
}
var S = Array(readLine()!.map{String($0)})
print(parse(S))
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.