deo2kim
๋งž์™œํ‹€
deo2kim
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ
    • CS
      • Algorithm
      • Data Structure
      • Network
      • DB
      • OS
    • Algorithm Problem
      • Python
      • JavaScript
    • Programming language
      • Python
      • JavaScript
    • Tool
      • Jquery
      • React
    • ๊ฐœ๋ฐœ
    • Infra

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

๋ฐ˜์‘ํ˜•
hELLO ยท Designed By ์ •์ƒ์šฐ.
deo2kim

๋งž์™œํ‹€

Algorithm Problem/JavaScript

[javascript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ํ–‰๋ ฌ ํ…Œ๋‘๋ฆฌ ํšŒ์ „ํ•˜๊ธฐ(2021 Dev-Matching: ์›น ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž(์ƒ๋ฐ˜๊ธฐ))

2021. 8. 9. 17:06
๋ฐ˜์‘ํ˜•

 

๐Ÿค”๋ฌธ์ œ ํ•ด๊ฒฐ

  1. Array.from ์„ ์ด์šฉํ•˜์—ฌ 2์ฐจ์› ํ–‰๋ ฌ ๋งŒ๋“ค๊ธฐ
  2. ํ…Œ๋‘๋ฆฌ ๊ฐ€์ ธ์˜ค๊ธฐ
    1. ๋ฒ”์œ„ ๋‚ด์—์„œ ํ…Œ๋‘๋ฆฌ๋งŒ ์˜ค๋ฅธ์ชฝ, ์•„๋ž˜, ์™ผ์ชฝ, ์œ„๋กœ ์ฐจ๋ก€๋กœ ์ด๋™
    2. ์ด๋™ํ•˜๋ฉด์„œ ๊ฐ’์„ ๋ฆฌ์ŠคํŠธ์— ์ €์žฅ, 2์ฐจ์› ๋ฐฐ์—ด์˜ ๊ฐ’์„ ๋ฐ”๊ฟ”์ค€๋‹ค(ํšŒ์ „)
  3. ๋ฆฌ์ŠคํŠธ์˜ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ answer ์— ์ €์žฅ

๐Ÿ’จ 2์ฐจ์› ๋ฐฐ์—ด ๋งŒ๋“ค๊ธฐ Array.from,

๋ฐฐ์—ด์˜ ์ตœ์†Œ๊ฐ’ ๊ตฌํ•˜๊ธฐ Math.min.apply(null, []); ์ด๊ฒƒ ๋ณด๋‹ค๋Š” Math.min(...[]); ์ด ์ข‹์•„๋ณด์ž„(์ผ๋‹จ ๊ฐ€๋…์„ฑ)

 

๐Ÿ’ป์†Œ์Šค ์ฝ”๋“œ

function solution(rows, columns, queries) {
    var answer = [];

    // 1์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” 2์ฐจ์› ํ–‰๋ ฌ ๋งŒ๋“ค๊ธฐ
    const arr = Array.from(Array(rows), () => new Array(columns));
    let num = 1
    for (let i = 0; i < arr.length; i++) {
        for (let j = 0; j < arr[i].length; j ++) {
            arr[i][j] = num++;
        }
    }
    
    // ํ…Œ๋‘๋ฆฌ ๊ฐ€์ ธ์˜ค๊ธฐ
    queries.forEach(v => {
        const newV = v.map(e => e - 1);
        const border = [];
        
        let i = newV[0]
        let j = newV[1]
        let changeNumber = arr[i+1][j];
        // 1. ์˜ค๋ฅธ์ชฝ ์ด๋™
        while (j <= newV[3]) {
            border.push(arr[i][j]);
            [arr[i][j], changeNumber] = [changeNumber, arr[i][j]];
            j++;
        }
        j--; i++;
        // 2. ์•„๋ž˜๋กœ ์ด๋™
        while (i <= newV[2]) {
            border.push(arr[i][j]);
            [arr[i][j], changeNumber] = [changeNumber, arr[i][j]];
            i++;
        }
        i--; j--;
        // 3. ์™ผ์ชฝ์œผ๋กœ ์ด๋™
        while (j >= newV[1]) {
            border.push(arr[i][j]);
            [arr[i][j], changeNumber] = [changeNumber, arr[i][j]];
            j--;
        }
        j++; i--;
        // 4. ์™ผ์ชฝ์œผ๋กœ ์ด๋™
        while (i > newV[0]) {
            border.push(arr[i][j]);
            [arr[i][j], changeNumber] = [changeNumber, arr[i][j]];
            i--;
        }        
        answer.push(Math.min(...border));
    });
    return answer;
}

console.log(solution(6, 6, 	[[2,2,5,4],[3,3,6,6],[5,1,6,3]]));
console.log(solution(3,3,[[1,1,2,2],[1,2,2,3],[2,1,3,2],[2,2,3,3]]	));
console.log(solution(100, 97, [[1,1,100,97]]	));

 

 

์ถœ์ฒ˜: ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

 

๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Algorithm Problem > JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[javascript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๊ฑฐ๋ฆฌ๋‘๊ธฐ ํ™•์ธํ•˜๊ธฐ(2021 ์นด์นด์˜ค ์ฑ„์šฉ์—ฐ๊ณ„ํ˜• ์ธํ„ด์‹ญ)  (0) 2021.08.13
[javascript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์ˆซ์ž ๋ฌธ์ž์—ด๊ณผ ์˜๋‹จ์–ด(2021 ์นด์นด์˜ค ์ฑ„์šฉ์—ฐ๊ณ„ํ˜• ์ธํ„ด์‰ฝ)  (0) 2021.08.12
[javascript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋กœ๋˜์˜ ์ตœ๊ณ  ์ˆœ์œ„์™€ ์ตœ์ € ์ˆœ์œ„(2021 Dev-Matching: ์›น ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž(์ƒ๋ฐ˜๊ธฐ))  (0) 2021.08.08
[javascript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋„คํŠธ์›Œํฌ  (0) 2020.10.21
[javascript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋‹จ์–ด ๋ณ€ํ™˜  (0) 2020.10.20
    'Algorithm Problem/JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [javascript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๊ฑฐ๋ฆฌ๋‘๊ธฐ ํ™•์ธํ•˜๊ธฐ(2021 ์นด์นด์˜ค ์ฑ„์šฉ์—ฐ๊ณ„ํ˜• ์ธํ„ด์‹ญ)
    • [javascript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์ˆซ์ž ๋ฌธ์ž์—ด๊ณผ ์˜๋‹จ์–ด(2021 ์นด์นด์˜ค ์ฑ„์šฉ์—ฐ๊ณ„ํ˜• ์ธํ„ด์‰ฝ)
    • [javascript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋กœ๋˜์˜ ์ตœ๊ณ  ์ˆœ์œ„์™€ ์ตœ์ € ์ˆœ์œ„(2021 Dev-Matching: ์›น ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž(์ƒ๋ฐ˜๊ธฐ))
    • [javascript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋„คํŠธ์›Œํฌ
    deo2kim
    deo2kim
    ์ฝ”๋”ฉ ๊ธฐ๋กํ•˜๊ธฐ

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”