๐Ÿ“Œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ค€๋น„ :: ๋ฐฑ์ค€ 1874:: ์Šคํƒ&ํ - ์Šคํƒ์ˆ˜์—ด๐Ÿ‘€

Dev-Oยท2022๋…„ 2์›” 9์ผ
0

CodingTest

๋ชฉ๋ก ๋ณด๊ธฐ
9/18

๋ฌธ์ œ

ํ•ด์„

๐Ÿ’ก ๋ฐฐ์—ด๊ณผ ์Šคํƒ์— ๋Œ€ํ•œ ์ดํ•ด ๊ทธ๋ฆฌ๊ณ  ๋ฐ˜๋ณต๋ฌธ์„ ํ™œ์šฉํ•  ์ค„ ์•ˆ๋‹ค๋ฉด ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜๋Š” ๊ฐ’๋“ค์€ ๋ˆˆ์— ๋ณด์ด์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋Š ์˜์—ญ์— ์–ด๋–ค ํ˜•ํƒœ๋กœ ์ €์žฅ๋˜๋Š”์ง€ ํ™•์‹คํžˆ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์†๋„ํ–ฅ์ƒ์— ๋„์›€์ด ๋  ๊ฒƒ ์ž…๋‹ˆ๋‹ค.

๋ฐฐ์—ด์—๋Š” 1~n๊นŒ์ง€์˜ ๋ฌด์ž‘์œ„ ์ˆ˜์—ด์ด ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค.
์Šคํƒ์—๋Š” 1~n๊นŒ์ง€์˜ ์ˆซ์ž๊ฐ€ ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค.

  1. ๋ฐฐ์—ด์˜ ์ฒซ ์ธ๋ฑ์Šค๊ฐ’์ด ๋‚˜์˜ฌ๋•Œ๊นŒ์ง€ ์Šคํƒ์— 1๋ถ€ํ„ฐ ๋„ฃ์–ด์ค๋‹ˆ๋‹ค.
  2. ๋ฐฐ์—ด์˜ ์ฒซ์ธ๋ฑ์Šค ๊ฐ’์ด ์Šคํƒ์—์„œ ๋ฐœ๊ฒฌ ๋์Šต๋‹ˆ๋‹ค. โžก๏ธ ๊ฒฐ๊ณผ์— '+' ๋ฌธ์ž๋ฅผ ๋„ฃ์–ด์ค๋‹ˆ๋‹ค.
  3. ์Šคํƒ์—์„œ ํŒ์„ ํ•ด์ค๋‹ˆ๋‹ค. โžก๏ธ ๊ฒฐ๊ณผ์— '-' ๋ฌธ์ž๋ฅผ ๋„ฃ์–ด์ค๋‹ˆ๋‹ค.
  4. ์Šคํƒ์ด ๋น„์—ˆ๋‹ค๋ฉด ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•ด์ฃผ๊ณ , ์Šคํƒ์ด ๋น„์ง€ ์•Š์•˜๋‹ค๋ฉด NO๋ฅผ ์ถœ๋ ฅํ•ด์ค๋‹ˆ๋‹ค.
    		int j = 1; //์Šคํƒ์— ๋“ค์–ด๊ฐˆ ๊ฐ’ 1~5
    		for (int i = 0; i < n; i++) {
    			if(stack.isEmpty()) {//์Šคํƒ์ด ๋น„์–ด์žˆ์œผ๋ฉด ์ถ”๊ฐ€ํ•ด์ค๋‹ˆ๋‹ค.
    				stack.push(j++);//1๋“ค์–ด๊ฐ€๊ณ  ํ›„์œ„์—ฐ์‚ฐ
    				list.add('+');
    			}
                //์ธ๋ฑ์Šค์˜ ๊ฐ’์ด ์Šคํƒ์˜ ์ˆ˜์™€ ๊ฐ™์ง€ ์•Š์œผ๋ฉด ๊ณ„์† ํ›„์œ„์—ฐ์‚ฐํ•˜๋ฉด์„œ ๋„ฃ์–ด์ค๋‹ˆ๋‹ค.
    			while(stack.size() < n && stack.peek()!=origin[i]) {			
    				stack.push(j++);//2๋“ค์–ด๊ฐ€๊ณ  ํ›„์œ„์—ฐ์‚ฐ
    				list.add('+');
    			}
                //์ธ๋ฑ์Šค์˜ ๊ฐ’์ด ์Šคํƒ์˜ ์ˆ˜์™€ ๊ฐ™๊ฒŒ ๋˜๋ฉด ์Šคํƒ์—์„œ ๊บผ๋‚ด ์ค๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฐ˜๋ณต
    			if(!stack.isEmpty()&&stack.peek()==origin[i]) {
    				stack.pop();
    				list.add('-');				
    			}
    		}



profile
Being Outstanding needs Understanding๐Ÿš€

0๊ฐœ์˜ ๋Œ“๊ธ€