Development

[TIL] 정렬 코딩테스트, 스택 알고리즘 강의, 노마드코더 줌 클론코딩

개발자 강정 2022. 2. 10. 22:10

자바스크립트 코딩테스트

https://www.acmicpc.net/problem/11497

 

11497번: 통나무 건너뛰기

남규는 통나무를 세워 놓고 건너뛰기를 좋아한다. 그래서 N개의 통나무를 원형으로 세워 놓고 뛰어놀려고 한다. 남규는 원형으로 인접한 옆 통나무로 건너뛰는데, 이때 각 인접한 통나무의 높이

www.acmicpc.net

const fs = require('fs')
const input = fs.readFileSync('dev/stdin').toString().trim().split('\n')

const numCases = +input.shift()

const cases = []
for (let i = 0; i < numCases; i++) {
    cases.push(input[2 * i + 1])
}

const testCases = cases.map(x => x.split(' ')).map(x => x.map(x => +x))

for (const testCase of testCases) {
    testCase.sort((a,b) => a-b)
    const logs = []
    for (let i = 0; i < testCase.length; i++) {
        let log = testCase[i]
        if (i % 2 === 0) {
            logs.push(log)
        } else {
            logs.unshift(log)
        }
    }
    const differences = []
    for (let i = 0; i < logs.length; i++) {
        if (i === logs.length - 1) {
            differences.push(Math.abs(logs[i] - logs[0]))
        } else {
            differences.push(Math.abs(logs[i] - logs[i + 1]))
        }
    }
    console.log(Math.max(...differences))
}

 

스택 알고리즘 강의 수강 및 문제 풀이

https://github.com/fancyers/coding-test/blob/main/%EC%8A%A4%ED%83%9D.js

 

GitHub - fancyers/coding-test: 알고리즘 문제 풀기

알고리즘 문제 풀기. Contribute to fancyers/coding-test development by creating an account on GitHub.

github.com

 

노마드 코더 줌 클론코딩 수강

ws (web socket) 활용, 기본 채팅 기능 구현