Conveyer Belt Robot

์–ด๋ ค์› ๋˜ ๋ถ€๋ถ„

๋ฌธ์ œ ์ดํ•ด๋ถ€ํ„ฐ ์‰ฝ์ง€ ์•Š์•˜๋‹ค.

๋ฌธ์ œ ์„ค๋ช…

๊ตฌํ˜„ ๋ฌธ์ œ : ๋ฌธ์ œ์—์„œ ์‹œํ‚ค๋Š” ๋Œ€๋กœ ์ญ‰ ๋”ฐ๋ผํ•˜๋ฉด ๋œ๋‹ค. ์ผ๋‹จ ํ•„์š”ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ/๊ฐ์ฒด๋ถ€ํ„ฐ ์ƒ๊ฐํ•ด๋ณด์ž. 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]--

๊ทผ๋ฐ ๋กœ๋ด‡ ํšŒ์ „, ๋กœ๋ด‡ ์ด๋™ ์™œ ๋”ฐ๋กœ ํ•˜์ง€?

Last updated

Was this helpful?