프로그래머스 35

[프로그래머스] 암호 해독 | JS

문제군 전략가 머쓱이는 전쟁 중 적군이 다음과 같은 암호 체계를 사용한다는 것을 알아냈습니다.암호화된 문자열 cipher를 주고받습니다.그 문자열에서 code의 배수 번째 글자만 진짜 암호입니다.문자열 cipher와 정수 code가 매개변수로 주어질 때 해독된 암호 문자열을 return하도록 solution 함수를 완성해주세요.해결 과정function solution(cipher, code) { var answer = ''; cipher = cipher.split(''); for(let i=code-1; i 배수로 문제를 해결하려고 했는데 그렇게 접근하면 안되었다. code를 기준으로 for문을 돌려 문제를 해결했다.

[프로그래머스] 369게임 | JS

문제머쓱이는 친구들과 369게임을 하고 있습니다. 369게임은 1부터 숫자를 하나씩 대며 3, 6, 9가 들어가는 숫자는 숫자 대신 3, 6, 9의 개수만큼 박수를 치는 게임입니다. 머쓱이가 말해야하는 숫자 order가 매개변수로 주어질 때, 머쓱이가 쳐야할 박수 횟수를 return 하도록 solution 함수를 완성해보세요.해결 과정function solution(order) { var answer = 0; let count=0; let number = order.toString().replace(/\B(?=(\d{1})+(?!\d))/g, ','); for(let i = 0; i  이 문제를 처음보고 아! 숫자를 3의 배수로 나눠야겠다고 생각했다. order는 숫자가 붙어있기에..

[프로그래머스] 가까운 수 | JS

문제정수 배열 array와 정수 n이 매개변수로 주어질 때, array에 들어있는 정수 중 n과 가장 가까운 수를 return 하도록 solution 함수를 완성해주세요.해결 과정function solution(array, n) { var answer = 0; let minNum = 999; let arrayAgain = array.sort(); for (let i = 0; i Math.abs(n - num)) { minNum = Math.abs(n - num); answer = num; } } return answer;} 가까운 수를 구하는 문제다. 이리저리 문제를 풀 방법을 생각해 봤지만 도무지 아이디어가 안떠올라 라미개발자 영상을 보고 방법을 찾았다.그런데 문제가..

[프로그래머스] 컨트롤 제트 🎛️ | JS

문제숫자와 "Z"가 공백으로 구분되어 담긴 문자열이 주어집니다. 문자열에 있는 숫자를 차례대로 더하려고 합니다. 이 때 "Z"가 나오면 바로 전에 더했던 숫자를 뺀다는 뜻입니다. 숫자와 "Z"로 이루어진 문자열 s가 주어질 때, 머쓱이가 구한 값을 return 하도록 solution 함수를 완성해보세요.해결 과정문제가 풀리지 않아 라매개발자 영상을 보며 풀었다. 라매개발자 영상을 보고도 이해가 되지 않아 며칠동안 고민했다. 고민을 해도 이해가 되지 않았다. 그러다 문득 완성된 코드를 먼저 이해해보기로 했다. 그래도 이해가 되지않아. 디버깅을 해보면서 이해를 하니까 코드가 이해가 됐다.function solution(s) { // 현재 숫자를 저장할 빈문자열을 만든다. let currentNumber ..

[프로그래머스] 모음 제거 | JS

문제영어에선 a, e, i, o, u 다섯 가지 알파벳을 모음으로 분류합니다. 문자열 my_string이 매개변수로 주어질 때 모음을 제거한 문자열을 return하도록 solution 함수를 완성해주세요.해결 과정function solution(my_string) { return my_string.replace(/['a','e','i','o','u']/g, '');} for문과 if문을 통해 이 문제를 풀고 싶었으나 답이 안나와 replace함수와 정규표현식을 이용하여 이 문제를 풀었다.

[프로그래머스] 최댓값 만들기(1) | JS

문제정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.해결 과정function solution(numbers) { let answer = []; let temp = 0; let temp2; let numSort; let realAnswer=1; for(let i = 0; i  numbers의 배열을 오름차순으로 정렬한다. 그뒤에 배열을 pop으로 꺼낸다음에 빈배열인 temp2에 저장해둔다.그리고 push해서 저장한 배열을 반복하기 위해서 for문을 이용해 realAnswer에 곱해 저장해준다. 새롭게 알게된 점function solution(numbe..

[프로그래머스] 합성수 찾기 🔢 | JS

문제약수의 개수가 세 개 이상인 수를 합성수라고 합니다. 자연수 n이 매개변수로 주어질 때 n이하의 합성수의 개수를 return하도록 solution 함수를 완성해주세요.해결 과정function solution(n) { let answer = 0; for(let i = 1; i  이중for문을 활용해 문제를 풀었다. 외부 for문의 i는 자연수가 증가되는 for문이다. 자연수 n이 i와 같을때까지 for문은 계속 돈다.내부 for문의 경우 j = 2부터 시작한다. 2부터 시작하는 이유는 i로 나누기 위해서 이고 i보다 숫자가 작을 때까지 계속된다.if문안에 break를 작성해야만 값이 제대로 출력이되었다.if문안에 break를 작성한 이유는 j에서의 반복을 없애기 위해서 작성했다고 이해를 했다..

[프로그래머스] 주사위의 개수 🎲 | JS

문제머쓱이는 직육면체 모양의 상자를 하나 가지고 있는데 이 상자에 정육면체 모양의 주사위를 최대한 많이 채우고 싶습니다. 상자의 가로, 세로, 높이가 저장되어있는 배열 box와 주사위 모서리의 길이 정수 n이 매개변수로 주어졌을 때, 상자에 들어갈 수 있는 주사위의 최대 개수를 return 하도록 solution 함수를 완성해주세요.해결 과정function solution(box, n) { let answer = 1; for (let i = 0; i  let answer에 1을 작성한 이유는 0을 작성하면 for문안에서 계속 0이 나오기 때문이다.for문에서 i는 0부터 시작해 box.length의 길이 만큼 반복한뒤 종료한다.answer에 구하고자하는 수를 곱해줘서 return을 했다.Mat..

[프로그래머스] 2차원으로 만들기 ✌︎ | JS

문제정수 배열 num_list와 정수 n이 매개변수로 주어집니다. num_list를 다음 설명과 같이 2차원 배열로 바꿔 return하도록 solution 함수를 완성해주세요.num_list가 [1, 2, 3, 4, 5, 6, 7, 8] 로 길이가 8이고 n이 2이므로 num_list를 2 * 4 배열로 다음과 같이 변경합니다. 2차원으로 바꿀 때에는 num_list의 원소들을 앞에서부터 n개씩 나눠 2차원 배열로 변경합니다.해결 과정구글링을 통해서 문제를 해결했다. function solution(num_list, n) { let answer = []; while(num_list.length) answer.push(num_list.splice(0, n)) return answ..

728x90