프로그래머스 배열의 원소만큼 추가하기 JS (중첩for문, push() / map() / reduce(), new Array()- 초기값으로 []빈배열사용 ) 프로그래머스 배열의 원소만큼 추가하기 문제 설명 아무 원소도 들어있지 않은 빈 배열 X가 있습니다. 양의 정수 배열 arr가 매개변수로 주어질 때, arr의 앞에서부터 차례대로 원소를 보면서 원소가 a라면 X의 맨 뒤에 a를 a번 추가하는 일을 반복한 뒤의 배열 X를 return 하는 solution 함수를 작성해 주세요. ✅ 내 코드 function solution(arr) { let X = [] for(let i=0; i JavaScript/알고리즘 2023.06.05
프로그래머스 이어붙인수 JS ( filter(), reduce(), String(), Number() ) 문제 설명 정수가 담긴 리스트 num_list가 주어집니다. num_list의 홀수만 순서대로 이어 붙인 수와 짝수만 순서대로 이어 붙인 수의 합을 return하도록 solution 함수를 완성해주세요. ✅ 내 코드 function solution(num_list) { let isEven = num_list.filter((a) => a % 2 === 0); let isOdd = num_list.filter((a) => a % 2 === 1); let evenSum = isEven.reduce((acc, cur) => acc + String(cur)); let oddSum = isOdd.reduce((acc, cur) => acc + String(cur)); return Number(evenSum) + N.. JavaScript/알고리즘 2023.06.04
프로그래머스 주사위 게임 1 JS ( if문, Math.ab() ) 문제 설명 1부터 6까지 숫자가 적힌 주사위가 두 개 있습니다. 두 주사위를 굴렸을 때 나온 숫자를 각각 a, b라고 했을 때 얻는 점수는 다음과 같습니다. a와 b가 모두 홀수라면 a2 + b2 점을 얻습니다. a와 b 중 하나만 홀수라면 2 × (a + b) 점을 얻습니다. a와 b 모두 홀수가 아니라면 |a - b| 점을 얻습니다. 두 정수 a와 b가 매개변수로 주어질 때, 얻는 점수를 return 하는 solution 함수를 작성해 주세요. ✅ 내 코드 function solution(a, b) { if(a%2 ===1 && b%2 ===1) { return a**2 + b**2 } else if((a%2 ===1 && b%2 ===0) || (a%2 ===0 && b%2 ===1)) { ret.. JavaScript/알고리즘 2023.06.04
프로그래머스 두 수의 합 JS ( BigInt(), 부동소수점 공부 ) 문제 설명 0 이상의 두 정수가 문자열 a, b로 주어질 때, a + b의 값을 문자열로 return 하는 solution 함수를 작성해 주세요. ✅ 내 코드 function solution(a,b){ let toNum = BigInt(a) + BigInt(b); return toNum.toString() } 🙋♀️ 내 생각 처음에는 위와 같이 BigInt를 사용해서 풀 생각을 못하고 바로 Number로 바꿔서 풀었다. 코드는 아래와 같다. function solution(a, b) { let toNum = Number(a) + Number(b) return toNum.toString() } 위와 같이 단순히 Number로 바꾸는 메서드를 사용하면, 숫자가 짧을 경우에는 문제가 없지만, 숫자의 길이가 .. JavaScript/알고리즘 2023.06.03
프로그래머스 배열만들기1 JS ( Math.floor(), for문, push() ) 문제 설명 정수 n과 k가 주어졌을 때, 1 이상 n이하의 정수 중에서 k의 배수를 오름차순으로 저장한 배열을 return 하는 solution 함수를 완성해 주세요. ✅ 내 코드 function solution(n, k) { let num = Math.floor(n/k) let list = [] for (let i=1; i JavaScript/알고리즘 2023.05.31
프로그래머스 원소들의 곱과 합 JS ( reduce(), if문 ) 문제 설명 정수가 담긴 리스트 num_list가 주어질 때, 모든 원소들의 곱이 모든 원소들의 합의 제곱보다 작으면 1을 크면 0을 return하도록 solution 함수를 완성해주세요. ✅ 내 코드 function solution(num_list) { let times = num_list.reduce((acc,cur) => acc*cur) let sum2 = num_list.reduce((acc,cur) => acc+cur)**2 if(times < sum2) { return 1 } else { return 0 } } 🙋♀️ 내 생각 일단 문제를 읽고, 결과값 두개를 비교하기 이전에 먼저 모든 원소들의 곱과 합의 제곱을 구해야겠다고 생각했다. 그래서 이런 계산에 가장 적절하다고 생각하는 reduce(.. JavaScript/알고리즘 2023.05.31
프로그래머스 수 조작하기1 JS ( for문, if문 / reduce() ) 문제 설명 정수 n과 문자열 control이 주어집니다. control은 "w", "a", "s", "d"의 4개의 문자로 이루어져 있으며, control의 앞에서부터 순서대로 문자에 따라 n의 값을 바꿉니다. "w" : n이 1 커집니다. "s" : n이 1 작아집니다. "d" : n이 10 커집니다. "a" : n이 10 작아집니다. 위 규칙에 따라 n을 바꿨을 때 가장 마지막에 나오는 n의 값을 return 하는 solution 함수를 완성해 주세요. ✅ 내 코드 function solution(n, control) { for(i=0; i n + 1, s: (n) => n - 1, d: (n) => n + 10, a: (n) => n - 10, }; function solution(n, contro.. JavaScript/알고리즘 2023.05.31
프로그래머스 카운트다운 JS ( for문,push() / Array(),fill(),map() ) 문제 설명 정수 start와 end가 주어질 때, start에서 end까지 1씩 감소하는 수들을 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요. ✅ 내 코드 function solution(start, end) { let list = []; for (i = start; i >= end; i--) { list.push(i); } return list; } 🙋♀️ 내 생각 -1씩을 빼줘야하기 때문에 for문을 사용했다. 초기값i를 10으로 설정하고 for문을 돌면서 -1을 해준다. i가 end가 될때까지 반복하고 그 값들을 push를 이용해서 list에 담는다. 💻 내가 사용한 메서드 for문: for 반복문은 어떤 특정한 조건이 거짓으로 판별될 때까지 반복 for ([초기문].. JavaScript/알고리즘 2023.05.30
프로그래머스 문자열의 앞의 n글자 JS ( slice() ) 문제설명 문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string의 앞의 n글자로 이루어진 문자열을 return 하는 solution 함수를 작성해 주세요. ✅ 내 코드 function solution(my_string, n) { return my_string.slice(0,n) } 🙋♀️ 내 생각 어떤 배열의 앞의 n글자라는 것은 배열의 0번째부터 시작해서 n-1번째까지를 의미한다. 이 문제를 풀면서 중요하다고 느낀 2가지는 1. 앞의 n글자라는 것이 배열로 들어가면 n까지가 아니라, n-1번째까지의 인덱스를 포함한다는것 2. slice(begin, end) end는 미포함하는 특성이 있다. 이렇게 2가지이다. 그래서 slice(0,n)까지라고 적어줘도 n이 미포함되기 때문에 답.. JavaScript/알고리즘 2023.05.30
프로그래머스 숫자 문자열과 영단어 JS ( replace() ) - [2021 카카오 채용연계형 인턴십] 문제 설명 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3" 이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요. ✅ 내 코드 function solution(s) { s = s.replace(/zero/gi, 0); s = s.replace(/one/gi, 1); s =.. JavaScript/알고리즘 2023.05.29