Study
[BEAKJOON / node.js] 1920 수 찾기
https://www.acmicpc.net/problem/1920 // test.txt 5 4 1 5 2 3 5 1 3 7 9 5 sol1 let [_, N, $, M] = require('fs').readFileSync('test.txt').toString().trim().split('\n'); let set = new Set(N.split(' ')); let answer = M.split(' ').map(v => set.has(v) ? 1 : 0).join('\n'); console.log(answer); // 1 // 1 // 0 // 0 // 1 Set에 담아서 해당 요소가 있는지 확인하고 출력하면 된다. 처음엔 N 배열을 받아서 바로 includes 메서드를 사용해 일치하는 요소가 있는지 확인했..
[BEAKJOON / node.js] 10816 숫자 카드 2
https://www.acmicpc.net/problem/10816 //test.txt 10 6 3 2 10 10 10 -10 -10 7 3 8 10 9 -5 2 3 4 5 -10 sol1 let input = require('fs').readFileSync('test.txt').toString().trim().split('\n'); let N = input[1] .split(' ') .map(Number) .reduce((acc,cur) => { acc[cur] = (acc[cur]||0) + 1; return acc },{}); let M = input[3] .split(' ') .map(Number) .map(v => N[v] ? N[v] : 0) .join(' '); console.log(M); ..
[BEAKJOON / node.js] 11659 구간 합 구하기 4
https://www.acmicpc.net/problem/11659 //test.txt 5 3 5 4 3 2 1 1 3 2 4 5 5 sol1 - 메모리 초과 let input = require('fs').readFileSync('test.txt').toString().trim().split('\n'); let nums = input.map(v => v.split(' ').map(Number)); function solution(nums) { let answer = ''; for(let i = 2;i acc+cur,0); answer += `${arr}\n` } return answer }; console.log(solution(nums)); // 12 // 9 // 1 입력받는데 제법 고생해서 테스트 ..
[BEAKJOON / node.js] 1439 뒤집기
https://www.acmicpc.net/problem/1439 //test.txt 11001100110011000001 sol1 const input = require('fs').readFileSync('test.txt').toString().trim(); function solution(input) { if(input.includes(0) && input.includes(1)) { let toOne = input.split(0).filter(el => el!== '').length; let toZero = input.split(1).filter(el => el!== '').length; return toOne < toZero ? toOne : toZero; } else return 0 }; cons..
[BEAKJOON / node.js] 2775 부녀회장이 될테야
https://www.acmicpc.net/problem/2775 // test.txt 2 1 3 2 3 sol1 const [cases,...input] = require('fs').readFileSync('test.txt').toString().trim().split('\n'); for (let i = 0; i Array(n + 1).fill(0)); for (let i = 1; i
<programmers / JavaScript> 신고 결과 받기
https://programmers.co.kr/learn/courses/30/lessons/92334?language=javascript sol1 let id_list = ["muzi", "frodo", "apeach", "neo"]; let report = ["muzi frodo","apeach frodo","frodo neo","muzi neo","apeach muzi"] let k = 2 let userlist = id_list.reduce((result,currentID)=> { result[currentID] = [0,[]]; return result },{}); for(let x of new Set(report)) { let [REPORT_ID,ID] = x.split(' '); userlis..
<BEAKJOON / node.js> 1181 단어정렬
https://www.acmicpc.net/problem/1181 //test.txt 13 but i wont hesitate no more no more it cannot wait im yours sol1 let [n,...input] = require('fs').readFileSync('test.txt').toString().trim().split('\n'); let arr = input.sort((a,b) => a.length-b.length || a.localeCompare(b)).filter((el,i) => input.indexOf(el) === i); for(let i=0;i a.localeCompare(b, 'fr', {ignorePunctuation: true})); // ['Adieu'..
[BEAKJOON / node.js] 13305 주유소
https://www.acmicpc.net/problem/13305 //test.txt 4 2 3 1 5 2 4 1 sol1 최솟값을 구하듯 오른쪽으로 탐색한다. 더 작은 기름값이 있는 도시가 나올 때까지 현제 도시에서 기름을 채우도록 조건문을 건다. const [n,a,b] = require('fs').readFileSync('test.txt').toString().trim().split('\n'); let km = a.split(' ').map(BigInt); let price = b.split(' ').map(BigInt); let answer = 0n; let min = price[0]; for(let i=0;i