Conveyer Belt Robot
Last updated
Was this helpful?
Last updated
Was this helpful?
์ด๋ ค์ ๋ ๋ถ๋ถ
๋ฌธ์ ์ดํด๋ถํฐ ์ฝ์ง ์์๋ค.
๊ตฌํ ๋ฌธ์ : ๋ฌธ์ ์์ ์ํค๋ ๋๋ก ์ญ ๋ฐ๋ผํ๋ฉด ๋๋ค. ์ผ๋จ ํ์ํ ์๋ฃ๊ตฌ์กฐ/๊ฐ์ฒด๋ถํฐ ์๊ฐํด๋ณด์. 1. ๋ด๊ตฌ๋ ๊ฐ์ ์ ์ฅํ ์ ์ํ ๋ฐฐ์ด ์๊ณ ๋ฆฌ์ฆ ๋ด๊ตฌ๋๊ฐ == 0์ธ ์นธ ๊ฐฏ์ 0 ์ดํ์ผ ๋๊น์ง ๋ฐ๋ณต 1. ๋ฒจํธ, ๋ก๋ด ํ์นธ์ฉ ํ์ . ๋ด๋ฆฌ๋ ์์น ๋ก๋ด ๋ด๋ฆฐ๋ค. ๋ฒจํธ ํ์ , ๋ด๊ตฌ๋๊ฐ ์ ๋ฐ์ดํธ ์ ์ฃผ์ ์ฌํญ : i,i+1์์ A[i+1] = A[i]๊ฐ ๋๊ธฐ ๋๋ฌธ์ ๋(N-1)์์ ๋ถํฐ ์์ํด์ A[N-1] ๊ฐ์ ์์ ๋ณ์์ ๋จผ์ ์ ์ฅํด์ค๋ค! =>A[0]์ ์ ์ฅํ๋ ๊ฒ์ด ์๋๋ผ A[N-1]๊ฐ์ ๋จผ์ ์ฑ๊ฒจ์ค๋ค!
2. ๋จผ์ ๋ฒจํธ์ ์ฌ๋ผ๊ฐ ๋ก๋ด๋ถํฐ ์ด๋์ํจ๋ค. ๋ฐ๋ณต ์กฐ๊ฑด : ๋์์(๋ก๋ด ๋ฐฐ์ด์ ๊ธธ์ด-1)๋ถํฐ ์์. i-1 ๋๋ฌธ์ ๋ฐ๋ณต์ 0๋ณด๋ค ํด ๋๊น์ง. robot[i] = true; robot[i-1] = false; //i-1๋ฒ์งธ ๋ก๋ด์ด i๋ฒ์งธ๋ก ์ฎ๊ฒจ๊ฐ๊ธฐ ๋๋ฌธ์ i-1๋ฒ์งธ๋ false์ฒ๋ฆฌ ํด์ค๋ค.
3. ์ฌ๋ฆฌ๋ ์์น์ ๋ด๊ตฌ๋๊ฐ์ด 0์ด ์๋๋ฉด ๋ก๋ด ์ฌ๋ฆฐ๋ค.
1~3์ ์ฐ์ฐ์ A[i]==0 ์ด k๊ฐ ๋ ๋๊น์ง ๋ฐ๋ณตํ๋ค.
๋ฒจํธ์ ๋ด๊ตฌ๋๊ฐ์ ์ ์ฅํ๋ ๋ฐฐ์ด๊ณผ ๋ก๋ด์ ์ ๋ฌด ์ ์ฅํ๋ ๋ฐฐ์ด์ ๋ฐ๋ก ๋ง๋ค์ด์ ์ด 2๊ฐ์ ๋ฐฐ์ด์ ์ด์ฉํ๋ค.
์๊ณ ๋ฆฌ์ฆ 1. ๋ฒจํธ ํ์ A[n-1] ๊ฐ์ด ๋จผ์ ์ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์ A[n-1]๋จผ์ tmp์ ์ ์ฅํด๋๋ค!
2. ๋ก๋ด ํ์ 3. ๋ก๋ด ์ด๋ ์กฐ๊ฑด : A[i]-1>=0(A[i]>=1) ์ด๋ํ๋ ์นธ์ i๋ฒ์งธ ์นธ์ด๋ผ๊ณ ํ๋ฉด robot[i] = true, robot[i-1] = false, A[i]--
๊ทผ๋ฐ ๋ก๋ด ํ์ , ๋ก๋ด ์ด๋ ์ ๋ฐ๋ก ํ์ง?