Space
반응형
article thumbnail
[프로그래머스] 한 번만 등장한 문자
프로그래머스 2024. 7. 4. 20:50

[프로그래머스] 한 번만 등장한 문자답function solution(s) { return [...s].filter(el => [...s].filter(el2 => el === el2).length === 1 ).sort().join('');}동작 방식1. 문자열을 배열로 변환[...s] // 예를 들어, s가 "aabbcd"라면 ['a', 'a', 'b', 'b', 'c', 'd'] 2. 첫 번째 filter  - filter 메소드는 배열의 각 요소를 순회하며, 주어진 조건을 만족하는 요소들만을 새로운 배열에 포함시킵니다.  - 여기서 조건은 각 문자가 문자열에서 한 번만 나타나는지 확인하는 것입니다. 3. 두 번째 filter  - 내부 filter는 첫 번째 filter의..

article thumbnail
[프로그래머스] 배열의 원소만큼 추가하기
프로그래머스 2023. 11. 20. 18:34

배열의 원소만큼 추가하기 풀이 // 풀이 1 function solution(arr) { return arr.reduce((list, num) => [...list, ...new Array(num).fill(num)], []); } // 풀이 2 function solution(arr) { return arr.reduce((acc, cur) => acc.concat(new Array(cur).fill(cur)), []) } 요점 1) array.fill( value [ , start, end ] ) : 배열의 start index부터 end index 전까지 value 값으로 채워주는 함수이다. // arr.fill(value[, start, end]) // value : 배열에 채울 값 // start..

article thumbnail
[프로그래머스] 순서쌍 개수 구하기
프로그래머스 2023. 11. 14. 18:55

순서쌍 개수 구하기 첫 풀이 function solution(n) { let arr = []; for(let i = 1; i = 1; j--){ if(i * j === n){ arr.push(n) } } } return arr.length } 순서쌍의 개수를 중복 for문을 이용하여 구하려고 했었다. 그러나, n의 개수가 커질수록 기하급수적으로 값을 구하는 시간이 길어졌다. 결국 식은 맞게 푼 것 같으나, 시간초과로 문제를 틀렸다. 두 번째 풀이 function solution(n) { let arr = []; for(let i = 1; i

article thumbnail
[프로그래머스] 분수의 덧셈
프로그래머스 2023. 11. 11. 23:16

문제 (분수의 덧셈) 일반 분수의 덧셈처럼 구해봤지만 최대공약수를 구하지 못해 많이 헤매었었다. 이 문제의 요점은 최대공약수를 구할 수 있냐 없냐에 달린 것 같다. 최대공약수 구하는 방법 function fnGCD(a, b){ return a % b? fnGCD(b, a % b) : b; } 재귀함수를 이용하여 최대공약수를 구한다. 결론 function solution(num1, denom1, num2, denom2) { function fnGCD(a, b){ // 최대공약수 return (a % b)? fnGCD(b, a % b) : b; } const top = num1 * denom2 + num2 * denom1; // 분자 const bottom = denom1 * denom2; // 분모 let..

반응형