๐Ÿ“– Algorithm/๐Ÿ“ ๋ฐฑ์ค€

Kotlin ๐Ÿฌ ๋ฐฑ์ค€ 6๋‹จ๊ณ„ :: 1316 ๋ฒˆ

๋ฒŒ๊ฟ€์˜ค์†Œ๋ฆฌ๐Ÿฆก 2023. 5. 1. 16:27
๋ฐ˜์‘ํ˜•

๊ทธ๋ฃน ๋‹จ์–ด ์ฒด์ปค

๋ฌธ์ œ   |

  ๊ทธ๋ฃน ๋‹จ์–ด๋ž€ ๋‹จ์–ด์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ๋ฌธ์ž์— ๋Œ€ํ•ด์„œ, ๊ฐ ๋ฌธ์ž๊ฐ€ ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒฝ์šฐ๋งŒ์„ ๋งํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, ccazzzzbb๋Š” c, a, z, b๊ฐ€ ๋ชจ๋‘ ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๊ณ , kin๋„ k, i, n์ด ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ฃน ๋‹จ์–ด์ด์ง€๋งŒ, aabbbccb๋Š” b๊ฐ€ ๋–จ์–ด์ ธ์„œ ๋‚˜ํƒ€๋‚˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ฃน ๋‹จ์–ด๊ฐ€ ์•„๋‹ˆ๋‹ค.

  ๋‹จ์–ด N๊ฐœ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„ ๊ทธ๋ฃน ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

์ž…๋ ฅ   |

  ์ฒซ์งธ ์ค„์— ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜ N์ด ๋“ค์–ด์˜จ๋‹ค. N์€ 100๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๋‹จ์–ด๊ฐ€ ๋“ค์–ด์˜จ๋‹ค. ๋‹จ์–ด๋Š” ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ๋˜์–ด์žˆ๊ณ  ์ค‘๋ณต๋˜์ง€ ์•Š์œผ๋ฉฐ, ๊ธธ์ด๋Š” ์ตœ๋Œ€ 100์ด๋‹ค.

 

์ถœ๋ ฅ   |

  ์ฒซ์งธ ์ค„์— ๊ทธ๋ฃน ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

 

ํ’€์ด  |

 [ ๋ฌธ์ œ ํ•ด์„ ]

  ccazzzzbb ์—์„œ c๋Š” 2๋ฒˆ, a๋Š” 1๋ฒˆ, z๋Š” 4๋ฒˆ, b๋Š” 2๋ฒˆ ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜ ๊ทธ๋ฃน๋‹จ์–ด์ด๋‹ค.

  aabbbccb์—์„œ a๋Š” 2๋ฒˆ, b๋Š” 3๋ฒˆ, c๋Š” 2๋ฒˆ ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๋‚˜, ์—ฐ์†๋œ c ๋’ค์— b๊ฐ€ ์ค‘๋ณต๋˜์–ด ๋‚˜ํƒ€๋‚˜ ๊ทธ๋ฃน๋‹จ์–ด๊ฐ€ ์•„๋‹ˆ๊ฒŒ ๋œ๋‹ค.

  ์ฆ‰, ์•ž์—์„œ 1๋ฒˆ์ด๋“  10๋ฒˆ์ด๋“  ์—ฐ์†ํ•ด์„œ ๋‚˜์˜ค๋ฉด ๊ทธ๋ฃน๋‹จ์–ด์ด๋‚˜, ๋‹ค๋ฅธ ๊ธ€์ž ์ดํ›„์— ์ค‘๋ณต๋˜์–ด 1๋ฒˆ์ด๋“  10๋ฒˆ์ด๋“  ๋‹ค์‹œ ๋‚˜ํƒ€๋‚˜๊ฒŒ ๋˜๋ฉด ๊ทธ๋ฃน๋‹จ์–ด๊ฐ€ ์•„๋‹ˆ๊ฒŒ ๋œ๋‹ค.

 

[ ํ’€์ด ]

  ๋‹จ์–ด์˜ ๊ฐ ๋ฌธ์ž๋ฅผ ๋ถ„๋ฆฌํ•ด์„œ ํ•ด๋‹น ๋ฌธ์ž์™€ ๋‹ค์Œ์œผ๋กœ ์˜ค๋Š” ๋ฌธ์ž๊ฐ€ ๋™์ผํ•˜๋ฉด ๊ณ„์† ๋น„๊ต๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.

  ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ํ•ด๋‹น ๋ฌธ์ž ์œ„์น˜์˜ ๋‹ค์Œ ๋ฌธ์ž๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ๋ฌธ์ž๊นŒ์ง€์˜ ๋‹จ์–ด์— ํ•ด๋‹น ๋ฌธ์ž๊ฐ€ ์กด์žฌํ•˜๋ฉด ๊ทธ๋ฃน๋‹จ์–ด๊ฐ€ ์•„๋‹Œ ์ˆ˜๋ฅผ ์„ธ๋Š” ๊ฒฐ๊ณผ๊ฐ’์— 1์„ ๋”ํ•œ๋‹ค.

 

 

๋‹ต์•ˆ  |

import java.util.Scanner

fun main() = with(Scanner(System.`in`)) {
    var count = 0
    
    repeat(nextInt()) {
        val word = next()
        
        for (i in word.indices) {
            if (i != word.length - 1) {
                if (word[i] == word[i + 1]) {
                    continue
                } else if (word[i] in word.substring(i + 1, word.length)) {
                    break
                }
            } else {
                count += 1
            }
        }
    }
    
    print(count)
}
๋ฐ˜์‘ํ˜•