๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Daily/Today I Learned

210125_TIL

by joooing 2021. 1. 26.
๋ฐ˜์‘ํ˜•

๐ŸŽ ์˜ค๋Š˜ ํ•œ ์ผ


โœ”๏ธ Toy ๋ฌธ์ œ ํ’€๊ธฐ (rockPaperScissors)
์žฌ๊ท€์— ์ด์ œ ์ข€ ์ต์ˆ™ํ•ด์กŒ๋‚˜ ์‹ถ์—ˆ๋Š”๋ฐ ๋ง‰์ƒ ๋˜ ๋ฌธ์ œ๋ฅผ ๋งŒ๋‚˜๋ณด๋‹ˆ๊นŒ ์‰ฝ๊ฒŒ ํ’€๋ฆฌ์ง€ ์•Š์•˜๋‹ค. ์ˆ˜๋„์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์ฐจ๊ทผ์ฐจ๊ทผ ํ‘ธ๋Š” ์Šต๊ด€์„ ๋“ค์—ฌ์•ผํ•˜๋Š”๋ฐ ์ƒ๊ฐ๋ณด๋‹ค ์ž˜ ์•ˆ๋˜๋Š” ๊ฒƒ ๊ฐ™์•„์„œ ํ’€์—ˆ๋˜ ๋ฌธ์ œ๋“ค์˜ ์ฝ”๋“œ๋ฅผ ๋ฐ˜๋Œ€๋กœ ์ˆ˜๋„์ฝ”๋“œ๋กœ ๋ฐ”๊ฟ”๋ณด๊ฑฐ๋‚˜ ์ฃผ์„์„ ๋‹ฌ์•„๋ณด๋ฉฐ ์—ฐ์Šต ์ค‘์ด๋‹ค. 

โœ”๏ธ N-Queens ๋ฌธ์ œ ํ’€๊ธฐ
DFS, ๋ฐฑํŠธ๋ž˜ํ‚น์„ ์ด์šฉํ•ด ํ•ด๊ฒฐํŒŒ์•ผํ•˜๋Š” N Queens ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋‹ค. ์ผ๋‹จ์€ ์ฃผ์–ด์ง„ ํŒŒ์ผ์— ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋“ค๊ณผ ์†์„ฑ์ด ์–ด๋–ค ๊ฑธ ์˜๋ฏธํ•˜๋Š” ์ง€ ํŒŒ์•…ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ํ•ต์‹ฌ์ด์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฌธ์ œ๋ฅผ ์ „์ฒด์ ์ธ ๊ด€์ ์—์„œ ๋จผ์ € ์ƒ๊ฐํ•˜๊ณ  ํ•˜๋‚˜์”ฉ ์ชผ๊ฐœ๋ฉฐ ์กฐ๊ฑด์„ ์ถ”๊ฐ€ํ•˜๋Š”๊ฒŒ ์ค‘์š”ํ•˜๋‹ค๋Š” ๊ฒƒ๋„ ๋Š๊ผˆ๋‹ค. ๊ฐœ๋… ์„ค๋ช…๋งŒ ์ฝ์–ด๋ดค์„ ๋•Œ๋Š” ๋ฐฑํŠธ๋ž˜ํ‚น์ด ๋ญ”์ง€ ๊ฐ๋„ ์ž˜ ์•ˆ์˜ค๊ณ  ์ด๋ฆ„๋งŒ ๋ณด๊ณ  ์—„์ฒญ๋‚œ ๊ธฐ์ˆ ์ธ๊ฐ€ ์‹ถ์—ˆ๋Š”๋ฐ, ์ง์ ‘ ํ•ด๋ณด๋‹ˆ๊นŒ '๊ทธ๋ƒฅ ์ผ๋‹จ ๋˜๋Š”๋ฐ๊นŒ์ง€ ํ•ด๋ณด๊ณ , ์•ˆ๋˜๋ฉด ์ด์ „์œผ๋กœ ๋˜๋Œ์•„๊ฐ€๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜๋Š” ๊ฒƒ'์ด๋ผ๋Š” ๋ฐฑํŠธ๋ž˜ํ‚น์˜ ์˜๋ฏธ๋ฅผ ๊นจ๋‹ฌ์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  DFS๋ผ๋Š” ๋ง์— ๊ณ„์† ํŠธ๋ฆฌ ํ˜•ํƒœ๋ฅผ ๋– ์˜ฌ๋ ค์„œ ์˜คํžˆ๋ ค ํ—ท๊ฐˆ๋ ธ๋Š”๋ฐ, ๊ทธ๋ณด๋‹ค๋Š” ๊ณผ์ • ์ž์ฒด์— ์ง‘์ค‘ํ•˜๊ณ  ์ˆœ์„œ์™€ ์กฐ๊ฑด์„ ์ƒ๊ฐํ•˜๋ฉฐ ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ์˜€๋‹ค.

 

๐ŸŽ ๊ธฐ์–ตํ•  ๊ฒƒ


โœ”๏ธ label
label ํ‚ค์›Œ๋“œ๋Š” break, continue ๊ตฌ๋ฌธ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์›ํ•˜๋Š” ์‹๋ณ„์ž๋กœ ๊ตฌ๋ฌธ ์•ž์— ์ถ”๊ฐ€ํ•˜๋ฉด ๋œ๋‹ค. label์ด ๋ถ™์€ ๊ณณ์—์„œ ๋ฐ˜๋ณต๋ฌธ์„ ๋ฉˆ์ถ”๊ฑฐ๋‚˜ ๋‹ค์‹œ ์ˆ˜ํ–‰์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

 

var i, j;

loop1:
for (i = 0; i < 3; i++) { 
   loop2:
   for (j = 0; j < 3; j++) { 
      if (i === 1 && j === 1) {
         break loop1;
      }
      console.log('i = ' + i + ', j = ' + j);
   }
}

// Output is:
//   "i = 0, j = 0"
//   "i = 0, j = 1"
//   "i = 0, j = 2"
//   "i = 1, j = 0"

 

๐ŸŽ ๋” ๊ณต๋ถ€ํ•  ๊ฒƒ


โœ”๏ธ ์žฌ๊ท€ ๋ฌธ์ œ๋ฅผ Stack ๊ตฌํ˜„์œผ๋กœ ํ’€์–ด๋ณด๊ธฐ
โœ”๏ธ ์กฐํ•ฉ, ์ค‘๋ณต ์กฐํ•ฉ
๋ฐ˜์‘ํ˜•

'Daily > Today I Learned' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

210127_TIL  (0) 2021.01.28
210126_TIL  (0) 2021.01.27
210124_TIL  (0) 2021.01.25
210123_TIL  (0) 2021.01.24
210122_TIL (์‹œ๊ฐ„๋ณต์žก๋„, ์ž๋ฃŒ๊ตฌ์กฐ ๋ณต์Šต)  (0) 2021.01.23

๋Œ“๊ธ€