[Programmers] 120904번 - 숫자 찾기 Problem 문제 보기 정수 num과 k가 매개변수로 주어질 때, num을 이루는 숫자 중에 k가 있으면 num의 그 숫자가 있는 자리 수를 return하고 없으면 -1을 return 하도록 solution 함수를 완성해보세요. Solution const solution = (num, k) => String(num).includes(k) ? String(num).indexOf(k)+1 : -1; 프로그래머스 (JS)/Lv. 0 2023.03.03
[Programmers] 120891번 - 369게임 Problem 문제 보기 머쓱이는 친구들과 369게임을 하고 있습니다. 369게임은 1부터 숫자를 하나씩 대며 3, 6, 9가 들어가는 숫자는 숫자 대신 3, 6, 9의 개수만큼 박수를 치는 게임입니다. 머쓱이가 말해야하는 숫자 order가 매개변수로 주어질 때, 머쓱이가 쳐야할 박수 횟수를 return 하도록 solution 함수를 완성해보세요. Solution function solution(order) { return String(order).split('').filter(x => x === '3' || x === '6' || x === '9').length; } 정규표현식으로 이용해서 아래와 같이 코드 작성도 가능하다 function solution(order) { return (''+order).. 프로그래머스 (JS)/Lv. 0 2023.03.03
[Programmers] 120897번 - 약수 구하기 Problem 문제 보기 정수 n이 매개변수로 주어질 때, n의 약수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요. Solution function solution(n) { let answer = []; for (let i = 1; i v+index+1).filter((v) => n%v===0); } Array(n) : n개의 배열 생성 fill(0) : 배열의 null값을 0으로 변경 .map((v, index) => v+index+1) : 0 + index값 + 1 으로 각 요소에 1,2,3,4,5...가 들어가게됨 .filter((v) => n%v===0) :v로 나눠질때만 남기도록 함 프로그래머스 (JS)/Lv. 0 2023.03.03
[Programmers] 120815번 - 피자 나눠 먹기(2) Problem 문제 보기 머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요. Solution function solution(n) { const x = (a, b) => { if (b === 0) return a; return x(b, a % b); } const y = (a, b) => (a * b) / x(a, b); return (y(n, 6) / 6); } 최소공배수 구하는 문제길래 유클리드 호제법으로 풀었는데 다른 사람 풀이를 보니까 괜히 복잡하게 푼 거 같다 const so.. 프로그래머스 (JS)/Lv. 0 2023.03.02
[Programmers] 120834번 - 외계행성의 나이 Problem 문제 보기 우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2, ..., j는 9입니다. 예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이 age가 매개변수로 주어질 때 PROGRAMMER-962식 나이를 return하도록 solution 함수를 완성해주세요. Solution function solution(age) { return String(age).split('').map(x => "abcdefghij"[x]).join(''); } 프로그래머스 (JS)/Lv. 0 2023.03.02
[Programmers] 120844번 - 배열 회전시키기 Problem 문제 보기 정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어집니다. 배열 numbers의 원소를 direction방향으로 한 칸씩 회전시킨 배열을 return하도록 solution 함수를 완성해주세요. Solution function solution(numbers, direction) { if (direction === "right") { numbers.unshift(numbers.pop()); } else { numbers.push(numbers.shift()); } return numbers; } right : 마지막 요소 -> 첫번째 요소 left : 첫번째 요소 -> 마지막 요소 right일 경우 numbers.pop()으로 맨 끝 요소를 unshift().. 프로그래머스 (JS)/Lv. 0 2023.03.02
[Programmers] 120899번 - 가장 큰 수 찾기 Problem 문제 보기 정수 배열 array가 매개변수로 주어질 때, 가장 큰 수와 그 수의 인덱스를 담은 배열을 return 하도록 solution 함수를 완성해보세요.' Solution function solution(array) { const arrayCopy = [...array]; const answer = array.sort((a, b) => a - b)[array.length-1]; return [answer, arrayCopy.indexOf(answer)]; } sort()는 새 배열을 생성하지않고 array 배열을 수정하므로 이전에 얕은 복사로 arrayCopy변수를 만들어주는 식으로 풀었다. 그러나 Math.max()를 이용하면 더 간편하게 풀 수 있다.. 전에도 문제풀 때 Math... 프로그래머스 (JS)/Lv. 0 2023.03.02
[Programmers] 120895번 - 인덱스 바꾸기 Problem 문제 보기 문자열 my_string과 정수 num1, num2가 매개변수로 주어질 때, my_string에서 인덱스 num1과 인덱스 num2에 해당하는 문자를 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요. Solution function solution(my_string, num1, num2) { const answer = my_string.split(''); answer.splice(num1, 1, my_string[num2]); answer.splice(num2, 1, my_string[num1]); return answer.join(''); } splice() 이용하여 풀었지만 아래와 같이 구조분해할당으로 푸는 방법도 있다. function solution(.. 프로그래머스 (JS)/Lv. 0 2023.03.02
[Programmers] 120862번 - 최댓값 만들기(2) Problem 문제 보기 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요. Solution function solution(numbers) { const x = numbers.sort((a, b) => a - b); const a = x[0] * x[1]; const b = x[numbers.length - 1] * x[numbers.length - 2] return a > b ? a : b } 이 문제에서 중요한 것은 음수 * 음수는 정렬에서 가장 작은 값이지만 곱하면 가장 큰 수일수도 있다는 것이다. 그렇기에 sort()로 오름차순으로 정렬해주면 음수가 맨 앞으로 오므로 음수의 첫번째.. 프로그래머스 (JS)/Lv. 0 2023.03.02
[Programmers] 120845번 - 주사위 개수 Problem 문제 보기 머쓱이는 직육면체 모양의 상자를 하나 가지고 있는데 이 상자에 정육면체 모양의 주사위를 최대한 많이 채우고 싶습니다. 상자의 가로, 세로, 높이가 저장되어있는 배열 box와 주사위 모서리의 길이 정수 n이 매개변수로 주어졌을 때, 상자에 들어갈 수 있는 주사위의 최대 개수를 return 하도록 solution 함수를 완성해주세요. Solution function solution(box, n) { return box.map(x => Math.floor(x/n)).reduce((a, b) => a * b); } 프로그래머스 (JS)/Lv. 0 2023.03.02