[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] Lv1. ๊ฐ™์€ ์ˆซ์ž๋Š” ์‹ซ์–ด

2022. 10. 11. 09:03ใ†์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_2022

728x90


๋ฌธ์ œ ์„ค๋ช…

๋ฐฐ์—ด arr๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ๋ฐฐ์—ด arr์˜ ๊ฐ ์›์†Œ๋Š” ์ˆซ์ž 0๋ถ€ํ„ฐ 9๊นŒ์ง€๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ, ๋ฐฐ์—ด arr์—์„œ ์—ฐ์†์ ์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋Š” ์ˆซ์ž๋Š” ํ•˜๋‚˜๋งŒ ๋‚จ๊ธฐ๊ณ  ์ „๋ถ€ ์ œ๊ฑฐํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ, ์ œ๊ฑฐ๋œ ํ›„ ๋‚จ์€ ์ˆ˜๋“ค์„ ๋ฐ˜ํ™˜ํ•  ๋•Œ๋Š” ๋ฐฐ์—ด arr์˜ ์›์†Œ๋“ค์˜ ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด,

  • arr = [1, 1, 3, 3, 0, 1, 1] ์ด๋ฉด [1, 3, 0, 1] ์„ return ํ•ฉ๋‹ˆ๋‹ค.
  • arr = [4, 4, 4, 3, 3] ์ด๋ฉด [4, 3] ์„ return ํ•ฉ๋‹ˆ๋‹ค.

๋ฐฐ์—ด arr์—์„œ ์—ฐ์†์ ์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋Š” ์ˆซ์ž๋Š” ์ œ๊ฑฐํ•˜๊ณ  ๋‚จ์€ ์ˆ˜๋“ค์„ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”.

 
์ œํ•œ์‚ฌํ•ญ
  • ๋ฐฐ์—ด arr์˜ ํฌ๊ธฐ : 1,000,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜
  • ๋ฐฐ์—ด arr์˜ ์›์†Œ์˜ ํฌ๊ธฐ : 0๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ  9๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜

 
์ž…์ถœ๋ ฅ ์˜ˆ
arr                                                                                                                answer
[1,1,3,3,0,1,1] [1,3,0,1]
[4,4,4,3,3] [4,3]
 
์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

์ž…์ถœ๋ ฅ ์˜ˆ #1,2
๋ฌธ์ œ์˜ ์˜ˆ์‹œ์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

 

๋‚˜์˜ ํ’€์ด

์ด๋ฒˆ ๋ฌธ์ œ๋Š” ์Šคํƒ์œผ๋กœ ํ’€์–ด๋ดค๋‹ค. 

์šฐ์„  stack์ด ๋น„์–ด์žˆ๋‹ค๋ฉด arr์˜ i ๊ฐ’์„ ๋„ฃ์–ด์ฃผ๊ณ , ๋งŒ์•ฝ ๋น„์–ด์žˆ์ง€ ์•Š๋‹ค๋ฉด i๊ฐ’๊ณผ stack์˜ ๊ฐ’์„ ๋น„๊ตํ•ด์„œ ๊ฐ’์ด ๊ฐ™์œผ๋ฉด ์Šคํƒ์— ๊ฐ’์„ ํ•˜๋‚˜ pop ํ•ด์ฃผ๊ณ , ์ค‘๋ณต ์ œ๊ฑฐ๋งŒ ํ•˜๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ’ ํ•˜๋‚˜๋Š” push ํ•ด์ค€๋‹ค. 

 

๊ทธ๋ฆฌ๊ณ  i์™€ ๊ฐ’์ด ๊ฐ™์ง€ ์•Š๋‹ค๋ฉด ๊ทธ๋ƒฅ stack์— push ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋ฐฐ์—ด๋กœ ๋ฆฌํ„ดํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— stack์˜ ๊ฐ’์„ ๋ฐฐ์—ด์— ๋„ฃ์–ด์„œ ๋ฆฌํ„ดํ•ด์คฌ๋‹ค. 

 

 

๋‹ค๋ฅธ ์‚ฌ๋žŒ ํ’€์ด

๋ฐฐ์—ด์˜ ์›์†Œ ํฌ๊ธฐ๊ฐ€ 0๋ถ€ํ„ฐ 9์‚ฌ์ด ์ด๋ฏ€๋กœ preNum์„ 10์œผ๋กœ ์ฃผ๊ณ , 

arr ๋ฐฐ์—ด์— ๋Œ€ํ•ด์„œ for๋ฌธ ๋Œ๋ ค์„œ ์ด ๊ฐ’๊ณผ preNum์ด ๊ฐ™์€์ง€ ๋น„๊ตํ•˜๋ฉด ์ฒ˜์Œ์—๋Š” ๋ฌด์กฐ๊ฑด ๊ฐ™์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— arraylist์— add ํ•ด์ค€๋‹ค. 

 

๊ทธ๋ฆฌ๊ณ  preNum์„ ๋ฐฐ์—ด์˜ ๊ฐ’์œผ๋กœ for๋ฌธ์„ ๋Œ์•„๊ฐ€๋ฉด์„œ ๋น„๊ตํ•ด์ฃผ๋ฉด ๋ฌธ์ œ๋ฅผ ํ’€ ์ˆ˜ ์žˆ๋‹ค. 

 

arraylist๋กœ ํ’€๊นŒ๋„ ๊ณ ๋ฏผํ–ˆ์—ˆ๋Š”๋ฐ ์ด๋Ÿฐ ๋ฐฉ๋ฒ•์ด ์žˆ์—ˆ๊ตฐ..! ์‹ถ์—ˆ๋‹ค. preNum ์ดˆ๊ธฐ๊ฐ’ 10 ์„ค์ •์€ ์ƒ๊ฐ ๋ชปํ–ˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— 

๋ฌธ์ œ ์กฐ๊ฑด์„ ์ž˜ ๋ณด๊ณ  ์ดˆ๊ธฐ๊ฐ’ ์„ค์ •ํ•˜๊ธฐ๋กœ ํ•˜๋‚˜ ๋ฐฐ์šด๋‹ค..! 

 

 

 

 

 

 

 

 

 

728x90