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