๊ธฐ๋ก๋ฐฉ

BOJ_25643 : ๋ฌธ์ž์—ด ํƒ‘ ์Œ“๊ธฐ ๋ณธ๋ฌธ

CodingTest/Python

BOJ_25643 : ๋ฌธ์ž์—ด ํƒ‘ ์Œ“๊ธฐ

Soom_1n 2022. 11. 20. 22:59

๐Ÿ‘‰ ๋ฌธ์ œ๋งํฌ

 

25643๋ฒˆ: ๋ฌธ์ž์—ด ํƒ‘ ์Œ“๊ธฐ

์ธ๊ฒฝ์ด๋Š” $N$๊ฐœ์˜ ๋ฌธ์ž์—ด์„ ์Œ“์•„์„œ ๋ฌธ์ž์—ด ํƒ‘์„ ์™„์„ฑํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ํƒ‘์„ ์™„์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ชจ๋“  ๋ฌธ์ž์—ด์„ ์•„๋ž˜์—์„œ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ์Œ“์•„ ์˜ฌ๋ ค์•ผ ํ•œ๋‹ค. ์ธ๊ฒฝ์ด๋Š” ๋ฌธ์ž์—ด ํƒ‘์˜ ๊ผญ๋Œ€๊ธฐ์— ๋‹ค์Œ ์ˆœ์„œ์˜

www.acmicpc.net



๐Ÿ”ธ ๋ฌธ์ œ ๋ถ„์„ ๐Ÿ”ธ

  • ์ƒˆ๋กœ ๋“ค์–ด์˜จ ๋ฌธ์ž์—ด์ด ์ด์ „ ๋ฌธ์ž์—ด์— ๊ฒฐํ•ฉ์ด ๋˜๋Š”์ง€ ํ™•์ธํ•˜๋ฉฐ ์ „๋ถ€ ๊ฒฐํ•จ ๊ฐ€๋Šฅํ•˜๋ฉด 1, ์•„๋‹ˆ๋ผ๋ฉด 0์„ ์ถœ๋ ฅํ•œ๋‹ค.
    • ๋ฌธ์ž์—ด ๋ธ”๋ก์„ ๋ผ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š” 3๊ฐ€์ง€์ด๋‹ค.
      1. ์™„์ „ํžˆ ๊ฐ™์€ ๋ฌธ์ž์—ด๋กœ ๋ชจ๋“  ์นธ์„ ๋ผ์›€
      2. ์ƒˆ๋กœ ๋“ค์–ด์˜จ ๋ฌธ์ž์—ด ๋ธ”๋ก์ด ์™ผ์ชฝ์œผ๋กœ ํŠ€์–ด๋‚˜์˜ด
      3. ์ƒˆ๋กœ ๋“ค์–ด์˜จ ๋ฌธ์ž์—ด ๋ธ”๋ก์ด ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํŠ€์–ด๋‚˜์˜ด
    • ๋‘ ๋ฌธ์ž์—ด ๋ธ”๋ก์˜ ๊ฒน์น˜๋Š” ๋ถ€๋ถ„์˜ ๊ธธ์ด๋ฅผ 1๋ถ€ํ„ฐ m๊นŒ์ง€ ํ‚ค์›Œ๊ฐ€๋ฉฐ ๊ฒฐํ•ฉ์ด ๋˜๋Š” ์ˆœ๊ฐ„์ด ์˜ฌ ๋•Œ๊นŒ์ง€ ๊ณ„์‚ฐํ•œ๋‹ค.

๐Ÿ”ธ ์ฝ”๋“œ ๐Ÿ”ธ

n, m = map(int,input().split())

before = input()

for i in range(n-1):
    new = input()

    flag = True
    for j in range(1,m+1):
        if new[m-j:] == before[:j] or new[:j] == before[m-j:]:
            break
    else:
        flag = False

    if flag:
        before = new
    else:
        print(0)
        break
else:
    print(1)

๐Ÿ”ธ ์ฝ”๋“œ ํ•ด์„ ๐Ÿ”ธ

  • ์ด์ „ ๋ฌธ์ž์—ด before์™€ ์ƒˆ ๋ฌธ์ž์—ด new๋ฅผ ๋น„๊ตํ•œ๋‹ค.
  • j๋ฅผ 1๋ถ€ํ„ฐ m๊นŒ์ง€ ์ฆ๊ฐ€์‹œํ‚ค๋ฉฐ ๋‘ ๋ฌธ์ž์—ด์ด ๊ฒฐํ•ฉ์ด ๊ฐ€๋Šฅํ•œ์ง€ ํ™•์ธํ•œ๋‹ค.
    • ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ๊ฐ€ ๋‚˜์˜ค๋ฉด break
    • ๋๊นŒ์ง€ ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ๊ฐ€ ์•ˆ๋‚˜์˜ค๋ฉด for-else๋ฌธ์œผ๋กœ ๋“ค์–ด๊ฐ€ flag๋ฅผ False๋กœ ๋ฐ”๊พผ๋‹ค.
  • flag๊ฐ€ True์ธ ๊ฒฝ์šฐ์—” before์— new๋ฌธ์ž์—ด์„ ์ €์žฅํ•˜๊ณ  ๋ฐ˜๋ณต์„ ๊ณ„์†ํ•œ๋‹ค.
  • flag๊ฐ€ False์ด๋ฉด 0์„ ์ถœ๋ ฅํ•˜๊ณ  ์ข…๋ฃŒํ•œ๋‹ค.
  • ๋ชจ๋“  ๋ฌธ์ž์—ด์„ ๊ฒ€์‚ฌํ–ˆ๋Š”๋ฐ flag๊ฐ€ False์ธ ๊ฒฝ์šฐ๊ฐ€ ์—†์—ˆ๋‹ค๋ฉด 1์„ ์ถœ๋ ฅํ•œ๋‹ค.

๐Ÿ”ธ end ๐Ÿ”ธ

  • ๋ธ”๋ก ๊ทธ๋ฆผ์„ค๋ช…์ด ์žฅํ™ฉํ•ด์„œ ์กฐ๊ธˆ ๊ฒ์„ ๋จน์—ˆ๋Š”๋ฐ, ์ƒ๊ฐ๋ณด๋‹ค ๊ฐ„๋‹จํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด์—ˆ๋‹ค.

728x90