본문 바로가기

레벨05

[프로그래머스 | JS] 레벨 0. 원소들의 곱과 합 ❓ 문제: 원소들의 곱과 합 정수가 담긴 리스트 num_list가 주어질 때, 모든 원소들의 곱이 모든 원소들의 합의 제곱보다 작으면 1을 크면 0을 return하도록 solution 함수를 완성해주세요. 📝 문제 풀이 num_list 배열의 원소들의 합의 제곱값을 ** 로 할지 Math.pow()로 할지 고민하다가 메서드보단 단순계산이 더 빠르겠다싶어서 변수에 넣어서 값을 리턴했다. function solution(num_list) { let sum = num_list.reduce((a, b) => a + b); const multiple = num_list.reduce((a, b) => a * b); return multiple < sum * sum ? 1 : 0; } 지금 생각해보면 변수에 넣으면 .. 2023. 4. 24.
[프로그래머스 | JS] 레벨 0. 특이한 정렬 (feat. sort()) ❓ 문제: 특이한 정렬 정수 n을 기준으로 n과 가까운 수부터 정렬하려고 합니다. 이때 n으로부터의 거리가 같다면 더 큰 수를 앞에 오도록 배치합니다. 정수가 담긴 배열 numlist와 정수 n이 주어질 때 numlist의 원소를 n으로부터 가까운 순서대로 정렬한 배열을 return하도록 solution 함수를 완성해주세요. 📝 문제 풀이 배열의 메서드와 삼항연산자를 이용해서 바로 결과값을 리턴하도록 풀었다. 인자로 넘어오는 numlist가 오름차순으로 정렬된 상태가 아니여서 맨 위의 sort을 안하면 테스트 2번에서 통과가 안돼서 sort를 두 번이나 쓴 게 과연 최선일까 고민했었다. (그리고 점수도 1점밖에 못 받아서.... 그닥 휼륭한 풀이라고는......) // 나의 풀이 function so.. 2023. 4. 14.
[프로그래머스 | JS] 레벨 0. 중복된 문자 제거 (feat. Set 객체) 문제를 풀수록 배열에 대한 메서드나 반복문에 대한 이해도가 높아지는 장점과 동시에 다른 방법으로도 푸는 방법을 공부하고 싶어 다른 분들이 푸는 풀이를 꼭 참고한다. 그러다 개념만 배우고 저만치 멀리 두고있던 Set 으로 된 풀이를 보고 이번 기회에 다시 복습하고자 글을 쓰고자 한다. ❓ 문제: 점의 위치 구하기 // 문제 설명 문자열 my_string이 매개변수로 주어집니다. my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return하도록 solution 함수를 완성해주세요. // 제한사항 1. 1 ≤ my_string ≤ 110 2. my_string은 대문자, 소문자, 공백으로 구성되어 있습니다. 3. 대문자와 소문자를 구분합니다. 4. 공백(" ")도 하나의 문자로 구분합.. 2023. 4. 12.
[프로그래머스 | JS] 레벨 0. 점의 위치 구하기 정답률이 높은 비교적 쉬운 문제이지만, 풀이과정보다 개인적으로 궁금했던 if문과 삼항연산자의 속도 차이, 기존 배열 읽기와 별도 변수 선언의 속도 차이를 테스트해본 결과를 공유하고자 한다. (안 궁금하셨다면 그래도 백해주시면 됩니당..) ❓ 문제: 점의 위치 구하기 // 문제 설명 사분면은 한 평면을 x축과 y축을 기준으로 나눈 네 부분입니다. 사분면은 아래와 같이 1부터 4까지 번호를매깁니다. 1. x 좌표와 y 좌표가 모두 양수이면 제1사분면에 속합니다. 2. x 좌표가 음수, y 좌표가 양수이면 제2사분면에 속합니다. 3. x 좌표와 y 좌표가 모두 음수이면 제3사분면에 속합니다. 4. x 좌표가 양수, y 좌표가 음수이면 제4사분면에 속합니다. 5. x 좌표 (x, y)를 차례대로 담은 정수 배.. 2023. 3. 10.