๊ธฐ๋ก๋ฐฉ

BOJ_5566 : ์ฃผ์‚ฌ์œ„ ๊ฒŒ์ž„ ๋ณธ๋ฌธ

CodingTest/Python

BOJ_5566 : ์ฃผ์‚ฌ์œ„ ๊ฒŒ์ž„

Soom_1n 2022. 11. 11. 11:11

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

 

5566๋ฒˆ: ์ฃผ์‚ฌ์œ„ ๊ฒŒ์ž„

์ƒ๊ทผ์ด๋Š” ํ˜ผ์ž ๋ณด๋“œ ๊ฒŒ์ž„์„ ํ•˜๊ณ  ์žˆ๋‹ค. ์ด ๋ณด๋“œ ๊ฒŒ์ž„์˜ ๋ณด๋“œ๋Š” N์นธ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ์ถœ๋ฐœ์ ์€ 1์นธ, ๋„์ฐฉ์ ์€ N์นธ์ด๋‹ค. ๊ฐ ์นธ์—๋Š” ์ง€์‹œ ์‚ฌํ•ญ์ด ์ ํ˜€์žˆ๋‹ค. ์ง€์‹œ ์‚ฌํ•ญ์€ ๋ง์„ ์–ผ๋งŒํผ ์ด๋™ํ•ด์•ผ ํ•˜

www.acmicpc.net



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

  • ๋ณด๋“œ ๊ฒŒ์ž„์˜ ์ •๋ณด๋ฅผ ์ž…๋ ฅ๋ฐ›๊ณ , ์ฃผ์‚ฌ์œ„๋ฅผ ๋˜์ง„ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›์•˜์„๋•Œ, ๋ช‡ ๋ฒˆ์งธ๋กœ ์ฃผ์‚ฌ์œ„๋ฅผ ๋˜์กŒ์„๋•Œ ๊ฒŒ์ž„์ด ๋๋‚˜๋Š”์ง€ ์ถœ๋ ฅํ•œ๋‹ค.
  • ๋ณด๋“œ ๊ฒŒ์ž„์˜ ์ •๋ณด๋ฅผ ๋ฐฐ์—ด์— ์ €์žฅํ•œ๋‹ค.
  • ์ฃผ์‚ฌ์œ„ ๋˜์ง„ ๊ฒฐ๊ณผ๋ฅผ ํ•˜๋‚˜์”ฉ ๋ฐ›์œผ๋ฉฐ ๊ณ„์‚ฐํ•œ๋‹ค.

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

import sys
input = sys.stdin.readline

n, m = map(int,input().split())
board = [0] * n

for i in range(n):
    board[i] = int(input().rstrip())

index = 0
for i in range(m):
    index += int(input())
    if index >= n-1:
        print(i+1)
        break
    index += board[index]
    if index >= n-1:
        print(i+1)
        break

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

  • ํ˜„์žฌ ์œ„์น˜๋ฅผ ์ฃผ์‚ฌ์œ„ ๊ฒฐ๊ณผ๋Œ€๋กœ ์ด๋™ํ•œ๋‹ค. ๋์— ๋„์ฐฉํ–ˆ๋‹ค๋ฉด ๋˜์ง„ ํšŸ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์ข…๋ฃŒํ•œ๋‹ค.
  • ๋„์ฐฉํ•œ ์œ„์น˜์˜ ์ •๋ณด๋Œ€๋กœ ์ฃผ์‚ฌ์œ„๋ฅผ ๋‹ค์‹œ ์ด๋™์‹œํ‚จ๋‹ค. ๋์— ๋„์ฐฉํ–ˆ๋‹ค๋ฉด ๋˜์ง„ ํšŸ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์ข…๋ฃŒํ•œ๋‹ค.

๐Ÿ”ธ end ๐Ÿ”ธ

  • ๊ฐ„๋‹จํ•œ ๋ฌธ์ œ์˜€๋‹ค.
  • ๋„์ฐฉ ์ธ๋ฑ์Šค๋ฅผ n-1์ด ์•„๋‹ˆ๋ผ n์œผ๋กœ ๋”ฐ์ ธ์„œ ํ’€์ด์— ๋”œ๋ ˆ์ด๊ฐ€ ๋๋‹ค.

728x90

'CodingTest > Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

BOJ_5426 : ๋น„๋ฐ€ ํŽธ์ง€  (0) 2022.11.16
BOJ_5211 : ๊ฐ€๋‹จ์กฐ์™€ ๋‹ค์žฅ์กฐ  (0) 2022.11.13
BOJ_13301 : ํƒ€์ผ ์žฅ์‹๋ฌผ  (0) 2022.11.05
BOJ_2810 : ์ปตํ™€๋”  (0) 2022.11.05
BOJ_4998 : ์ €๊ธˆ  (0) 2022.11.04