프로그래머스

    [programmers / JavaScript] 큰 수 만들기

    [programmers / JavaScript] 큰 수 만들기

    https://programmers.co.kr/learn/courses/30/lessons/42883# const number = "4177252841"; const k = 4; sol1 function solution(number, k) { let stack = []; for(let i=0;i0 && stack[stack.length-1]

    [programmers / JavaScript] 기능 개발

    [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

    [programmers / JavaScript] JadenCase 문자열 만들기

    [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] 2775 부녀회장이 될테야

    [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..

    <programmers / JavaScript> 로또의 최고 순위와 최저 순위

    https://programmers.co.kr/learn/courses/30/lessons/77484 switch 문으로 나누기에 경우의 수가 너무 많이 나와서, filter() 메서드를 이용하기로 한다. sol 1 const lottos = [44, 1, 0, 0, 31, 25]; const win_nums = [31, 10, 45, 1, 6, 19]; const rank = [6,5,4,3,2,1]; let answer = []; const min = lottos.filter(v => win_nums.includes(v)).length; const max = lottos.filter(v => v === 0).length + min; rank.includes(min) ? answer.push(rank...

    [programmers / JavaScript] K번째 수

    https://programmers.co.kr/learn/courses/30/lessons/42748 배열의 범위를 주고, 범위 내에서 k번째 수를 구하는 문제다. 처음엔 splice() 메서드를 사용했지만, splice()는 원본 배열을 변경시키기 때문에 slice() 메서드를 이용해 풀었다. sol 1 const array = [1, 5, 2, 6, 3, 7, 4]; const commands = [[2, 5, 3], [4, 4, 1], [1, 7, 3]]; function solution(array,commands) { let answer = []; commands.forEach(v => { const arr = array.slice(v[0]-1,v[1]); arr.sort((a,b) => a-b)..

    [programmers / JavaScript] 숫자 문자열과 영단어

    https://programmers.co.kr/learn/courses/30/lessons/81301 let s = "one4seveneight" // result 1478 문자열을 숫자로 바꿔야 하기에 자연스럽게 숫자를 기준으로 잘라서 바꿔야겠다고 생각했다. 전개연산자를 써보고, 숫자를 기준으로 나눠진 배열을 조합해 어떤 숫자로 치환할지 정했는데, 말도 안되는 작업이란걸 깨달아버렸다. 배열로 쪼개진 ["one"] 혹은 ["o","n","e"] 입력을 숫자로 바꾸려 했다니,, sol 1 const s = "one4seveneight" function solution(s) { let answer = ""; const numbers = ["zero", "one", "two", "three", "four", ..