๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿƒ algorithm/boj

BOJ 18238 - ZOAC2

by HandHand 2021. 3. 18.

๋ฌธ์ œ

๋ฐฑ์ค€ ์˜จ๋ผ์ธ ์ €์ง€ - 18238๋ฒˆ

ํ’€์ด ๊ณผ์ •

ํšŒ์ „ํŒ์„ ์ขŒ ๋˜๋Š” ์šฐ๋กœ ๋Œ๋ ค์„œ ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์„ ๋งŒ๋“œ๋Š” ์ตœ์†Œ ์ด๋™ ํšŸ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

๋ชจ๋“  ๋ฌธ์ž๋ฅผ ์•„์Šคํ‚ค์ฝ”๋“œ๋ฅผ ํ™œ์šฉํ•ด ์ธ๋ฑ์Šค ๊ฐ’์„ ๊ตฌํ•˜๊ณ  ์‹œ๊ณ„๋ฐฉํ–ฅ, ๋ฐ˜์‹œ๊ณ„๋ฐฉํ–ฅ ํšŒ์ „ ์—ฐ์‚ฐ ์ค‘ ์ตœ์†Œ๊ฐ’์„ ๊ตฌํ•ด์„œ ๋”ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ํ™˜ํ˜•์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์ƒํ™ฉ์—์„œ ๋‘ ์ธ๋ฑ์Šค ๊ฐ„์˜ ๊ฑฐ๋ฆฌ ์ฐจ์ด๊ฐ’์„ ๊ตฌํ•˜๋Š” ์•„์ด๋””์–ด๋ฅผ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค. ๐Ÿ˜„

์ฝ”๋“œ


import sys

alphabets = list(map(chr, range(ord('A'), ord('Z') + 1)))
target = sys.stdin.readline().strip()


def solution():
    answer = 0
    cursor = 0

    for c in target:
        target_idx = ord(c) - ord('A')

        clockwise = cursor - target_idx + 26 if cursor - target_idx < 0 else cursor - target_idx
        counter_clockwise = target_idx - cursor + 26 if target_idx - cursor < 0 else target_idx - cursor

        answer += min(clockwise, counter_clockwise)
        cursor = target_idx

    return answer


print(solution())
๋ฐ˜์‘ํ˜•

'๐Ÿƒ algorithm > boj' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

BOJ 11403 - ๊ฒฝ๋กœ ์ฐพ๊ธฐ  (0) 2021.03.18
BOJ 18243 - Small World Network  (0) 2021.03.18
BOJ 14754 - Pizza Boxes  (0) 2021.03.18
BOJ 15723 - n๋‹จ ๋…ผ๋ฒ•  (0) 2021.03.18
BOJ 14496 - ๊ทธ๋Œ€, ๊ทธ๋จธ๊ฐ€ ๋˜์–ด  (0) 2021.03.16

๐Ÿ’ฌ ๋Œ“๊ธ€