์ƒˆ์†Œ์‹

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

(swift) -[๋ฐฑ์ค€/boj] 2941๋ฒˆ: ํฌ๋กœ์•„ํ‹ฐ์•„ ์•ŒํŒŒ๋ฒณ

  • -

๋ฌธ์ œ ๋งํฌ :

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

 

2941๋ฒˆ: ํฌ๋กœ์•„ํ‹ฐ์•„ ์•ŒํŒŒ๋ฒณ

์˜ˆ์ „์—๋Š” ์šด์˜์ฒด์ œ์—์„œ ํฌ๋กœ์•„ํ‹ฐ์•„ ์•ŒํŒŒ๋ฒณ์„ ์ž…๋ ฅํ•  ์ˆ˜๊ฐ€ ์—†์—ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํฌ๋กœ์•„ํ‹ฐ์•„ ์•ŒํŒŒ๋ฒณ์„ ๋ณ€๊ฒฝํ•ด์„œ ์ž…๋ ฅํ–ˆ๋‹ค. ํฌ๋กœ์•„ํ‹ฐ์•„ ์•ŒํŒŒ๋ฒณ ๋ณ€๊ฒฝ ฤ c= ฤ‡ c- dลพ dz= ฤ‘ d- lj lj nj nj š s= ลพ z=

www.acmicpc.net

 

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

 

 

์Šค์œ„ํ”„ํŠธ ์ฝ”๋“œ :

 

import Foundation
let crAlpha = ["c=","c-","dz=","d-","lj","nj","s=","z="]
let input = Array(readLine()!)
var cnt = 0
var i = 0
let maxIdx = input.count-1
func search(_ str: String)->Int{
    if crAlpha.contains(str){
        return 1
    }else{return 0}
}
for _ in 1...input.count{
    if i-1 == maxIdx{break}
    if (maxIdx >= i + 1), (search("\(input[i])\(input[i+1])") != 0){
        i += 2
        cnt += 1
    }else if(maxIdx >= i + 2),(search("\(input[i])\(input[i+1])\(input[i+2])") != 0 ){
        i += 3
        cnt += 1
    }else{
        i += 1
        cnt += 1
    }
}
print(cnt)
Contents

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

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