JavaScript/알고리즘

    [백준 2292] NodeJS / Javascript 문제풀이

    정답 - 풀이과정 정답 let input = require("fs") .readFileSync(process.platform === 'linux' ? '/dev/stdin' : '../../input.txt') .toString() .trim() .split(" "); const num = parseInt(input[0]); let increaseNumber = 1; let i=1 while(num > i){ i += increaseNumber*6 increaseNumber++ } console.log(increaseNumber) 리얼 풀이과정 우선, 벌집의 규칙을 찾아 보았습니다. 1부터 시작해서 원형으로 수가 어떻게 증가하는지를 확인 해 보니, 1 -> 7 -> 19 -> 37 순서로 증가하는것을 확..

    [백준 1712] NodeJS / Javascript 문제풀이

    정답 - 풀이과정 정답 let input = require("fs") .readFileSync(process.platform === 'linux' ? '/dev/stdin' : '../../input.txt') .toString() .trim() .split(" "); const a = parseInt(input[0]); const b = parseInt(input[1]); const c = parseInt(input[2]); if(c - b

    알고리즘 스터디 - queue / 큐

    지난시간 Stack 에대해 알아보았는데 Stack 은 LIFO 였으나, Queue는 FIFO 다. FIFO First in First Out 의 약자로, 들어온 순서대로 나간다고할 수 있다. 이 때 우리가 흔히 커피를 주문하거나 맛집에 대기를할 때 Queue 와 비슷한 원리라고할 수 있다. 이 부분을 유의하며 오늘 공부를 잘 해보자. Queue 우선, Queue의 기본 원리는 알았으니 이미지를 보며 어떤 기능을 구현해야 하는지 보자. 이 이미지를 보면 그나마 좀 편히 알 수 있을것 같다. 숫자는 들어온 순서를 의미하며, Enqueue 는 큐에 추가를 하는것이고, Dequeue 는 들어온 순서대로 빼주는 기능이다. rear는 배열의 시작부분, front 는 배열의 끝부분이다. 간단히 보면 rear ~ fr..

    알고리즘 스터디 - Stack

    이번시간에는 Stack에 대해서 알아보도록 하겠다. STACK 우리가 흔히 게임을 하다보면 " 스택을 쌓아야 더 강해진다 " " 스택 쌓아야된다 " " 스택 쌓였다 " 라는 식의 대화를 한 적 있을것이다. 이 말에서 힌트를 얻고, 스택은 무언가를 쌓는다고 할 수 있다. 자, 그럼 스택이 무엇인지 대충 알았을테니 제대로 시작해보자. LIFO Last Input First Out 의 약자인 LIFO 이다. 스택 알고리즘은 나중에 들어온것을 먼저 빼주는 방식으로 동작을 한다. 이 것을 보았을 때 아래와같은 이미지로 동작이 된다. Function 이번 알고리즘에서는 아래와 같은 함수를 구현해 보겠다. push - 마지막 인덱스에 값을 추가한다 pop - 마지막 인덱스의 값을 삭제하고 반환한다. peek - 마지..