JavaScript_알고리즘
-
[JavaScript]호텔 대실JavaScript_알고리즘 2024. 9. 5. 16:14
1. 문제 2. 접근 방법 1 ≤ book_time의 길이 ≤ 1,000book_time[i]는 ["HH:MM", "HH:MM"]의 형태로 이루어진 배열입니다[대실 시작 시각, 대실 종료 시각] 형태입니다.시각은 HH:MM 형태로 24시간 표기법을 따르며, "00:00" 부터 "23:59" 까지로 주어집니다. 예약 시각이 자정을 넘어가는 경우는 없습니다.시작 시각은 항상 종료 시각보다 빠릅니다.book_timeresult[["15:00", "17:00"], ["16:40", "18:20"], ["14:20", "15:20"], ["14:10", "19:20"], ["18:20", "21:20"]]3[["09:10", "10:10"], ["10:20", "12:20"]]1[["10:20", "12:30"..
-
[JavaScript]무인도 여행JavaScript_알고리즘 2024. 9. 3. 14:53
1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/154540 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 2. 접근 방법 3 ≤ maps의 길이 ≤ 100 3 ≤ maps[i]의 길이 ≤ 100 maps[i]는 'X' 또는 1 과 9 사이의 자연수로 이루어진 문자열입니다. 지도는 직사각형 형태입니다.DFS 3. 자바스크립트 코드 function solution(maps) { let answer = []; // 행의 개수 const rowLength = maps[0].length; ..
-
[JavaScript] 크기가 작은 부분 문자열JavaScript_알고리즘 2024. 8. 7. 21:36
1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/147355 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 2. 자바스크립트 코드 function solution(t, p) { let answer = 0 let cnt = 0 // p 길이 체크 pLength = p.length // t 길이 - p 길이 까지 반복문 진행 for (let i = 0; i 3. 문제를 풀고난 후 생각 문자열 슬라이싱을 진행하여 문자열을 자른 후 Number 혹은 parseInt로..
-
[JavaScript] 대충 만든 자판JavaScript_알고리즘 2024. 8. 7. 21:26
1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/160586 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 2. 접근 방법 시간 제한: 1초메모리 제한: 128MB구현 3. 자바스크립트 코드 function solution(keymap, targets) { let answer = [] // 목표가 되는 값을 탐색 for (target of targets) { // 총 몇번의 횟수를 눌러야는지 체크 let total = 0 // 한 문자씩 ..
-
1526. [JavaScript]가장 큰 금민수JavaScript_알고리즘/Bronze I 2024. 7. 16. 03:12
1. 문제 2. 접근 방법 시간 제한: 1초메모리 제한: 128MB구현 3. 자바스크립트 코드 const fs = require('fs')const input = fs.readFileSync('./1526.txt').toString().trim()const inputLength = input.lengthconst N = Number(input)// 리스트let ans = []// 최대값 갱신let max_value = 0// 백트래킹으로 구현function backtracking(start) {// 초기 조사한 input 길이보다 작은경우 if (start 4. 문제를 풀고난 후 생각 백트래킹을 통해서 input 보다 작은 값의 경우 최대값을 갱신해 가며 문제를 해결하는 구조로 구현했다. 5...
-
1094. [JavaScript]막대기JavaScript_알고리즘/Silver V 2024. 7. 1. 17:51
1. 문제 https://www.acmicpc.net/problem/1094 2. 접근 방법 시간 제한: 2초메모리 제한: 128MB수학 3. 자바스크립트 코드 // 인풋const fs = require("fs");const input = parseInt(fs.readFileSync("./1094.txt").toString().trim());// 막대길이 64let bar = 64;// 자른 막대 저장 리스트let barList = [];// 총 길이 체크let total = 0;// 몇개 사용했는지 체크let count = 0;if (input === bar) { // 막대가 64이고 X값이 64인 경우 1개의 막대만 사용 console.log(count + 1);} else { // 외의 경우 ..
-
4344. [JavaScript]평균은 넘겠지JavaScript_알고리즘/Bronze I 2024. 6. 17. 19:43
1. 문제 https://www.acmicpc.net/problem/4344 2. 접근 방법 시간 제한: 1초메모리 제한: 256MB사칙연산 3. 자바스크립트 코드 // 인풋 처리 부분const fs = require("fs");let [N, ...input] = fs.readFileSync("./4344.txt").toString().trim().split("\n");// input 을 한줄씩 반복분 진행for (line of input) { // 2차원 배열형태이기 때문에 한번더 Number로 치환 let group = line.split(" ").map(Number); // Number로 치환한 부분에서 사람수, 점수로 분할 let [people, ...score] = group; //..
-
2163. [JavaScript]초콜릿 자르기JavaScript_알고리즘/Bronze I 2024. 6. 17. 19:41
1. 문제 https://www.acmicpc.net/problem/2163 2. 접근 방법 시간 제한: 2초메모리 제한: 128MB계산 3. 자바스크립트 코드 // 인풋 불러오는 부분let fs = require("fs");// trim 으로 공백 제거 후 " "으로 쪼개기let input = fs.readFileSync("./2163.txt").toString().trim().split(" ");// N, M 값을 input 으로 받아오기N = parseInt(input[0]);M = parseInt(input[1]);// 1, 1 인 경우 쪼갤 필요가 없어서 바로 0 출력if (N === 1 && M === 1) { console.log(0);} else { console.log(N * M -..
-
9506. [JavaScript]약수들의 합JavaScript_알고리즘/Bronze I 2024. 6. 17. 19:40
1. 문제 https://www.acmicpc.net/problem/9506 2. 접근 방법 시간 제한: 2초메모리 제한: 128MB수학구현정수론 3. 자바스크립트 코드 // 인풋 처리 부분const fs = require("fs");const input = fs.readFileSync("./9506.txt").toString().trim().split("\n");// of 를 통해서 input 값 순회for (num of input) { // String 으로 되어있는 부분 int 로 치환하여 -1 인 경우 반복문 탈출 (사실 필요없음 한번에 읽기 때문에) if (parseInt(num) === -1) { break; } else { // value 로 num 이라는 변수 Int 변환 ..
-
2153. [JavaScript]소수 단어JavaScript_알고리즘/Bronze II 2024. 6. 17. 17:28
1. 문제 https://www.acmicpc.net/problem/2153 2. 접근 방법 시간 제한: 2초메모리 제한: 128MB소수 판별 3. 자바스크립트 코드 // 에라토스테네스의 체function primeCheck(checkNumber) { // 이 문제에서는 1도 소수라 판단해서 0만 소수 예외 처리한 후 나머지 false 로 초기화 let primeList = Array(1).fill(true).concat(Array(10000).fill(false)); // 최대 52 * 20 개 까지 공간이 필요하지만 넉넉하게 10000 선언 for (let i = 2; i 백준은 /dev/stdin 으로 변형 // trim 으로 공백제거const input = fs.readFileSync(..