ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๋ฌธ์ œ

๋ฌธ์ œ ์„ค๋ช…

์ •์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ๋‹ค์Œ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๋ฐ‘๋ณ€์˜ ๊ธธ์ด์™€ ๋†’์ด๊ฐ€ n์ธ ์‚ผ๊ฐํ˜•์—์„œ ๋งจ ์œ„ ๊ผญ์ง“์ ๋ถ€ํ„ฐ ๋ฐ˜์‹œ๊ณ„ ๋ฐฉํ–ฅ์œผ๋กœ ๋‹ฌํŒฝ์ด ์ฑ„์šฐ๊ธฐ๋ฅผ ์ง„ํ–‰ํ•œ ํ›„, ์ฒซ ํ–‰๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ํ–‰๊นŒ์ง€ ๋ชจ๋‘ ์ˆœ์„œ๋Œ€๋กœ ํ•ฉ์นœ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.


์ œํ•œ์‚ฌํ•ญ

  • n์€ 1 ์ด์ƒ 1,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

nresult

4 [1,2,9,3,10,8,4,5,6,7]
5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9]
6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11]

 

๋ฌธ์ œํ’€์ด

  • ์ด 3๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™: ์•„๋ž˜๋กœ ๋‚ด๋ ค๊ฐ€๊ธฐ, ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™ํ•˜๊ธฐ, ์œ„๋กœ ์˜ฌ๋ผ๊ฐ€๊ธฐ
  • ๋ฐฉํ–ฅ์˜ ์ „ํ™˜ ๊ธฐ์ค€์€ ์ฃผ์–ด์ง„ ๋ฐฐ์—ด ์ธ๋ฑ์Šค ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚˜๋Š” ์ˆœ๊ฐ„(out of range)์œผ๋กœ ์žก์Œ
  • ์ •์ (end)๊นŒ์ง€ ๊ณ„์†ํ•ด์„œ ์ˆœํšŒํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€์‚ฐ ๋œ ๋ฐฉํ–ฅ ๊ฐ’์— 3์„ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€ ๊ฐ’์„ ์‚ฌ์šฉํ•˜์—ฌ index = {0, 1, 2}์˜ ๋ฌดํ•œ ๋ฐ˜๋ณต

์ฝ”๋“œ

function solution(n) {
  let answer = Array.from(Array(n), (_, i) => Array(++i).fill(0));
  let dx = [0, 1, -1];
  let dy = [1, 0, -1];
  let end = Math.floor(n * (n + 1) / 2);
  
  let [x, y] = [0, 0];
  answer[y][x] = 1;
  let num = 2;
  let dir = 0;

  while(num <= end) {
    let nx = x + dx[dir];
    let ny = y + dy[dir];
    if(nx >= 0 && nx < n && ny >= 0 && ny < n && answer[ny][nx] === 0) {
      answer[ny][nx] = num++;
      x = nx;
      y = ny;
    } else dir = (dir + 1) % 3;
  }

  return answer.flat();
}

 

๋ฐฉํ–ฅ์˜ ์ด๋™ ๋ฐ ์ „ํ™˜๊ณผ ๊ด€๋ จ ๋œ ๋ฌธ์ œ๋“ค

https://choi95.tistory.com/126?category=881084

 

[DFS]๋ฏธ๋กœ ํƒ์ƒ‰

๋ฌธ์ œ ๋ฌธ์ œํ’€์ด https://choi95.tistory.com/39 ๋ด‰์šฐ๋ฆฌ ๋ฌธ์ œ  ์ง€๋„ ์ •๋ณด๊ฐ€ N*N ๊ฒฉ์žํŒ์— ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ๊ฒฉ์ž์—๋Š” ๊ทธ ์ง€์—ญ์˜ ๋†’์ด๊ฐ€ ์“ฐ์—ฌ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๊ฒฉ์žํŒ์˜ ์ˆซ์ž ์ค‘ ์ž์‹ ์˜ ์ƒํ•˜์ขŒ์šฐ ์ˆซ์ž๋ณด๋‹ค ํฐ ์ˆซ์ž  

choi95.tistory.com

https://choi95.tistory.com/133?category=881084

 

[DFS/BFS]์„ฌ๋‚˜๋ผ ์•„์ผ๋žœ๋“œ

๋ฌธ์ œ ๋ฌธ์ œํ’€์ด https://choi95.tistory.com/126 [DFS]๋ฏธ๋กœ ํƒ์ƒ‰ ๋ฌธ์ œ ๋ฌธ์ œํ’€์ด https://choi95.tistory.com/39 ๋ด‰์šฐ๋ฆฌ ๋ฌธ์ œ  ์ง€๋„ ์ •๋ณด๊ฐ€ N*N ๊ฒฉ์žํŒ์— ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ๊ฒฉ์ž์—๋Š” ๊ทธ ์ง€์—ญ์˜ ๋†’์ด๊ฐ€ ์“ฐ์—ฌ์žˆ์Šต๋‹ˆ๋‹ค...

choi95.tistory.com

 

๋Œ“๊ธ€
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
TAG
more
ยซ   2024/10   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ