본문 바로가기

코딩/알고리즘

(41)
백준) 18258 - 큐2 JS 📌 문제 링크https://www.acmicpc.net/problem/18258 📌 문제 탐색하기정수를 저장하는 큐를 구현하고 주어진 명령의 순서에 따라 알맞은 출력값을 처리명령push X: 정수 X를 큐에 넣는 연산pop: 큐에서 가장 위에 있는 정수를 빼고, 그 수를 출력. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력size: 큐에 들어있는 정수의 개수를 출력empty: 큐가 비어있으면 1, 아니면 0을 출력front: 큐의 가장 앞에 있는 정수를 출력. 없는 경우에는 -1 출력back: 큐의 가장 뒤에 있는 정수를 출력. 없는 경우에는 -1 출력시간복잡도O(n)알고리즘 선택큐📌 코드 설계하기문제의 `input`을 개행으로 분리합니다.`queue`와 `answer` 배열과 큐의 첫번째 ..
백준) 10828 - 스택 JS 📌 문제 링크https://www.acmicpc.net/problem/10828📌 문제 탐색하기정수를 저장하는 스택을 구현하고 주어진 명령의 순서에 따라 알맞은 출력값을 처리명령push X: 정수 X를 스택에 넣는 연산pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력size: 스택에 들어있는 정수의 개수를 출력empty: 스택이 비어있으면 1, 아니면 0을 출력top: 스택의 가장 위에 있는 정수를 출력. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력시간복잡도O(n)알고리즘 선택스택📌 코드 설계하기정수를 저장할 `stack` 배열과 최종 결과를 반환할 `answer` 배열을 선언합니다.입력된 명령들을 순서대로 처리하기 위..
백준) 2231 - 분해합 JS 📌 문제 링크https://www.acmicpc.net/problem/2231📌 문제 탐색하기자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그램을 작성생성자가 없는 경우에는 0을 출력시간복잡도O(nlogn)알고리즘 선택완전 탐색📌 코드 설계하기for문으로 입력값을 1씩 줄이면서 분해합이 주어진 값과 일치하는지 확인, 맞다면 `answer`배열에 삽입빈 배열이라면 0을 출력하고 아니면 배열의 가장 작은 값을 출력📌 시도 회차 수정 사항 (Optional)1회차`i`는 `n`이라고 했으면서 정작 for문 내부에서는 `i`를 사용할 생각을 안하고 `input`을 넣어서 오류를 내고 있었다..🤦🏻‍♀️📌 정답 코드//https://www.acmicpc.net/problem/2231..
백준) 2798 - 블랙잭 JS 📌 문제 링크https://www.acmicpc.net/problem/2798📌 문제 탐색하기N장의 카드에 써져 있는 숫자가 주어졌을 때, M을 넘지 않으면서 M에 최대한 가까운 카드 3장의 합을 구해 출력하시오.시간복잡도O(n^3)알고리즘 선택완전 탐색📌 코드 설계하기모든 값들을 순회해서 조합하여 지금까지 누적한 큰 값이 목표값과 비교해 작거나 같은 경우 그 값을 출력모든 값을 조회해야하니 3중 for문을 사용📌 시도 회차 수정 사항 (Optional)1회차이 문제는 조합으로 풀어야하는 문제여서 `let i = 0` , `let j = i + 1` , `let k = j + 1` 이 되어야 한다.`let i = 0` , `let j = i + 1` , `let k = i + 2` 이것도 아님!!..
백준) 2587 - 대표값2 📌 문제 링크https://www.acmicpc.net/problem/2587📌 문제 탐색하기숫자가 주어지면 그 숫자들의 평균과 중앙값을 차례대로 출력하시오.시간복잡도O(nlogn)📌 코드 설계하기문제의 `input`을 개행으로 분리하여 숫자로 변환 후 오름차순으로 정렬합니다.`avg` 변수에 `input`의 모든 값을 더한 후, `input`의 길이를 나누어 평균을 구합니다.`median` 변수에 `input`길이를 2로 나눈 후 버림하여 `input` 인덱스를 통해 중앙값을 구합니다.`avg`와 `median`를 출력합니다.📌 정답 코드//https://www.acmicpc.net/problem/2587export {};const fs = require("fs");const filePath =..