⌨️ 프로그래머스 49

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

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

[프로그래머스] 문자열 정렬하기(1) | JS

문제문자열 my_string이 매개변수로 주어질 때, my_string 안에 있는 숫자만 골라 오름차순 정렬한 리스트를 return 하도록 solution 함수를 작성해보세요.해결 과정function solution(my_string) { let emptyValue = my_string.replace(/[a-z]/g, ''); let emptyValue2 = Array.from(String(emptyValue), Number); return emptyValue2.sort();} replace()를 이용하여 a-z의 문자들을 my_string에서 부터 제거해줬다.그렇게 되면 값들이 숫자로 변환해야하는데 방법을 몰라서 구글링했다.  숫자를 문자열로 만들어 주기 위해 참고한 사이트 👇..

[프로그래머스] 모음 제거 | 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..

[프로그래머스] 배열 회전시키기 🔄️|JS

문제정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어집니다. 배열 numbers의 원소를 direction방향으로 한 칸씩 회전시킨 배열을 return하도록 solution 함수를 완성해주세요.해결 과정function solution(numbers, direction) { if(direction === "right") { let numPop = numbers.pop(); numbers.unshift(numPop); } else { let numPop = numbers.shift(); numbers.push(numPop); } return numbers;} direction이 right와 같으면 numbe..

[프로그래머스] 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