https://school.programmers.co.kr/learn/courses/30/lessons/181929
function solution(num_list) {
let sum = num_list.reduce((a,c) => a+c) ** 2
let mul = num_list.reduce((a,c) => a*c)
return sum > mul ? 1 : 0;
}
https://school.programmers.co.kr/learn/courses/30/lessons/181879
function solution(num_list) {
return num_list.length >= 11 ? num_list.reduce((a,c) => a+c) : num_list.reduce((a,c) => a*c);
}
https://school.programmers.co.kr/learn/courses/30/lessons/181845
풀이 1
function solution(n) {
return n.toString();
}
풀이 2
function solution(n) {
return n + "";
}
풀이 3
function solution(n) {
return String(n);
}
https://school.programmers.co.kr/learn/courses/30/lessons/181910
function solution(my_string, n) {
return my_string.slice(-n);
}
https://school.programmers.co.kr/learn/courses/30/lessons/181850
function solution(flo) {
return parseInt(flo);
}
https://school.programmers.co.kr/learn/courses/30/lessons/181840
function solution(num_list, n) {
return num_list.indexOf(n) >= 0 ? 1 : 0;
}
function solution(num_list, n) {
return num_list.includes(n) ? 1 : 0;
}
https://school.programmers.co.kr/learn/courses/30/lessons/181849
function solution(num_str) {
return [...num_str].reduce((a,c) => Number(a)+Number(c));
}
이렇게 풀이하여도 된다.
function solution(num_str) {
return [...num_str].reduce((a,c) => a + +c,0);
}
https://school.programmers.co.kr/learn/courses/30/lessons/181882
function solution(arr) {
return arr.map(v => v >= 50 && v % 2 === 0 ? v / 2 : v < 50 && v % 2 === 1 ? v * 2 : v);
}
https://school.programmers.co.kr/learn/courses/30/lessons/181881
function solution(arr) {
let cnt = 0
arr = arr.filter(v => v >= 50 && v % 2 === 0 || v < 50 && v % 2 === 1);
arr = arr.map(v => v >= 50 && v % 2 === 0 ? v / 2 : v < 50 && v % 2 === 1 ? v * 2 + 1 : v);
while (arr.length > 0) {
arr = arr.filter(v => v >= 50 && v % 2 === 0 || v < 50 && v % 2 === 1);
arr = arr.map(v => v >= 50 && v % 2 === 0 ? v / 2 : v < 50 && v % 2 === 1 ? v * 2 + 1 : v);
cnt++
}
return cnt
}
왜 이게 답인지 모르겠다...;
while 밖에 있는
arr = arr.filter(v => v >= 50 && v % 2 === 0 || v < 50 && v % 2 === 1);
arr = arr.map(v => v >= 50 && v % 2 === 0 ? v / 2 : v < 50 && v % 2 === 1 ? v * 2 + 1 : v);
를 삭제하면 오답이 나온다..
왜지??
function solution(arr, n = 0) {
while(!arr.every(x => (x >= 50 && x % 2 === 1) || (x < 50 && x % 2 === 0))) {
arr = arr.map(x => {
if (x >= 50 && x % 2 === 0) return x / 2;
if (x < 50 && x % 2 === 1) return x * 2 + 1;
return x;
})
n++;
}
return n;
}
프로그래머스 제일 위에 있는 정답 긁어온 것
every 함수는 처음 봐서 공부해야겠다..
https://school.programmers.co.kr/learn/courses/30/lessons/181835
function solution(arr, k) {
return k % 2 === 0 ? arr.map(a => a + k) : arr.map(a => a * k);
}
밑에처럼 안에다가 조건을 입력해도 되었다
function solution(arr, k) {
return arr.map(a => k % 2 === 0 ? a + k : a * k);
}
https://school.programmers.co.kr/learn/courses/30/lessons/181906
function solution(my_string, is_prefix) {
return my_string.slice(0,is_prefix.length) === is_prefix ? 1 : 0;
}
https://school.programmers.co.kr/learn/courses/30/lessons/181937
function solution(num, n) {
return num % n === 0 ? 1 : 0;
}
https://school.programmers.co.kr/learn/courses/30/lessons/181839
function solution(a, b) {
return a % 2 === 1 && b % 2 === 1 ? a**2 + b**2 : a % 2 === 1 || b % 2 === 1 ? 2 * (a + b) : Math.abs(a-b)
}
https://school.programmers.co.kr/learn/courses/30/lessons/181869
function solution(my_string) {
return my_string.split(" ");
}
https://school.programmers.co.kr/learn/courses/30/lessons/181843
function solution(my_string, target) {
return my_string.includes(target) ? 1 : 0;
}
https://school.programmers.co.kr/learn/courses/30/lessons/181861
function solution(arr) {
let answer = [];
for (let i of arr) {
for (let j = 0; j < i; j++) {
answer.push(i)
}
}
return answer;
}
다른 사람 풀이들
function solution(arr) {
return arr.reduce((list, num) => [...list, ...new Array(num).fill(num)], []);
}
function solution(arr) {
return arr.reduce((a, c) => a.concat(Array(c).fill(c)), [])
}
concat이라는 함수는 처음 본다
https://school.programmers.co.kr/learn/courses/30/lessons/181941
function solution(arr) {
return arr.join('');
}
https://school.programmers.co.kr/learn/courses/30/lessons/181863
function solution(rny_string) {
return rny_string.replace(/m/g, "rn");
}
https://school.programmers.co.kr/learn/courses/30/lessons/181884
function solution(numbers, n) {
let answer = 0;
for (let i of numbers) {
answer += i;
if (answer > n) {
break;
}
}
return answer;
}
function solution(numbers, n) {
return numbers.reduce((a,c)=>(a<=n)?a+c:a)
}
reduce로 풀어보려 하다가 포기했는데 다른 사람이 푼 것을 참고하여 다시 풀어보았다
조건문을 쓴 것까지는 같은데 내가 조건을 이상하게 설정을 했었다
https://school.programmers.co.kr/learn/courses/30/lessons/181842
function solution(str1, str2) {
return str2.includes(str1) ? 1 : 0;
}
비슷한 문제들이 계속 반복되어서 나오는 것 같다
| 프로그래머스: 코딩 기초 트레이닝 javascript 51~60문제 (0) | 2023.06.14 |
|---|---|
| 프로그래머스: 코딩 기초 트레이닝 javascript 31~50문제 (0) | 2023.06.09 |
| 프로그래머스: 코딩 기초 트레이닝 javascript 1~10문제 (0) | 2023.06.04 |
| [자바스크립트/javascript] 프로그래머스 : 콜라츠 추측 (Lv.1) / 서울에서 김서방 찾기 (Lv.1) (0) | 2023.03.30 |
| [자바스크립트/javascript] 프로그래머스 : 두 정수 사이의 합 (Lv.1) / 나누어 떨어지는 숫자 배열 (Lv.1) (0) | 2023.03.30 |