Study/Algorithm
[BEAKJOON / node.js] 17298 오큰수
https://www.acmicpc.net/problem/17298 //test.txt 4 3 5 2 7 sol1 - 시간 초과❌ let [N,...input] = require('fs').readFileSync('test.txt').toString().trim().split('\n'); let arr = input[0].split(' ').map(Number) let answer = []; for(let i=0;i
[programmers / JavaScript] 기능 개발
https://programmers.co.kr/learn/courses/30/lessons/42586 sol1 function solution(progresses, speeds) { let day = Array.from({length:speeds.length},()=>0); for(let i=0;i
[BEAKJOON / node.js] 1302 베스트셀러
https://www.acmicpc.net/problem/1302 //test.txt 9 table chair table table lamp door lamp table chair sol1 let [N,...input] = require('fs').readFileSync('test.txt').toString().trim().split('\n'); let map = new Map(); let answer = input.reduce((acc,cur) => { let best = (map.get(cur)||0) +1; let max = (map.get(acc)||0); map.set(cur,best); if(best>max) acc=cur; else if(best === max) cur { let best =..
[BEAKJOON / node.js] 1744 수 묶기
https://www.acmicpc.net/problem/1744 //test.txt 4 -1 2 1 3 sol1 let [_,...input] = require('fs').readFileSync('test.txt').toString().trim().split('\n'); let arr = input.map(Number); function solution(arr) { let plusArr = arr.filter(el => el>0).sort((a,b) => b-a); let minusArr = arr.filter(el => el a-b); let plusLen = plusArr.length; let minusLen = minusArr.length; let plusAns = ifCase(plusArr,pl..
[BEAKJOON / node.js] 12904 A와 B
https://www.acmicpc.net/problem/12904 //test.txt B ABBA sol1 - ❌ let [S,T] = require('fs').readFileSync('test.txt').toString().trim().split('\n'); let arr = S.split(''); function solution(arr,T) { while(T.length !== arr.length) { arr.push('A'); if(T.length === arr.length) break; arr.reverse().push('B'); arr.push("A"); } return arr.join('') === T ? 1 : 0 }; console.log(solution(arr,T)); //1 S에 문제..
[BEAKJOON / node.js] 9935 문자열 폭발
https://www.acmicpc.net/problem/9935 //test.txt mirkovC4nizCC44 C4 sol1 let input = require('fs').readFileSync('test.txt').toString().trim().split('\n'); let arr = input[0]; let bomb = input[1]; let bomLen = bomb.length; let stack = []; let top = 0; for(let i=0;i
[programmers / JavaScript] JadenCase 문자열 만들기
https://programmers.co.kr/learn/courses/30/lessons/12951?language=javascript# sol1 function solution(s) { let answer = ''; let arr = s.split(' ') answer = arr.map(v=>v.toLowerCase()) .map(el => el=== "" ? "" : el.replace(el[0],el[0].toUpperCase())) return answer.join(' ') } 조건중 공백 문자가 연속해서 나올 수 있다는 조건을 해결하는 게 까다로웠다. 공백을 아예 없애버리면 실패 케이스가 나오니 공백은 그대로 두고 첫 글자만 변환해야 했다. sol2 function solution(s) { s..
[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 메서드를 사용해 일치하는 요소가 있는지 확인했..