프로그래머스 35

[프로그래머스] 옷가게 할인 받기 👕👖

문제 머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다.구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요. 해결 과정 전체 가격 변수를 만들었다. let totalPrice를 만들어 퍼센트 할인 공식을 넣어 할인된 가격이 출력되게 했다. 할인(%) 공신 만들기 가격 - (가격 * 할인 퍼센트) = 할인된 가격 function solution(price) { let totalPrice = 0; if(price >= 500000) { totalPrice = price - (price * 0.2); } else if(price >= 300000) { totalPrice = ..

[프로그래머스] 배열의 평균값

문제 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소의 평균값을 return하도록 solution 함수를 완성해주세요. 해결 과정 1. 배열의 합을 구한다. 2. 배열의 길이로 나눈다. 새롭게 알게된 점📝 배열의 합을 어떻게 구해야하나 구글링을 하여 문제를 해결했다. 참고했던 사이트: https://sentry.io/answers/how-to-find-the-sum-of-an-array-of-numbers/ How to find the sum of an array of numbers The Problem You want to find the sum of an array of numbers. How do you do this with JavaScript? The Solution Th..

[프로그래머스] 피자 나눠 먹기(3) 🍕

문제 머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice와 피자를 먹는 사람의 수 n이 매개변수로 주어질 때, n명의 사람이 최소 한 조각 이상 피자를 먹으려면 최소 몇 판의 피자를 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요. 해결 과정 이건 피자나눠먹기(1)문제와 유사하다. 그래서 쉽게 해결할 수 있었다. 정답 function solution(slice, n) { var answer = 0; let pizzaCnt = n / slice; return Math.ceil(pizzaCnt); } 7m

[프로그래머스] 피자 나눠먹기(2) 🍕

문제 머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요. 해결 과정 이 문제를 처음봤을때 생각보다 어렵게 생각했다. 그래서 시간이 많이 걸렸다. 문제는 이해갔지만 어떻게 풀지 막막해서 구글링을 해보고 다른 문제를 다 푼다음 다시 풀어봤다. 피자 변수를 만들었다. 피자 조각은 1조각 부터 시작함으로 let pizza = 1;로 작성했다. while문을 사용한 이유는 if문이 참일 경우 실행시키기 위해서 작성했다. if 문 안에 pizza * 6조각 그리고 사람 수로 나눠 떨어지면 피자가..

[프로그래머스] 피자 나눠 먹기(1) 🍕

문제 머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요. 해결 과정 처음에는 1. 피자 변수를 만든다. 2. 피자를 7조각으로 나눈다. 이런 식으로 접근을 했다. 다시 문제를 읽어보고 입출력 예 설명을 읽었다. 7명은 최소 1판 필요 1명은 최소 1판 필요 15명은 최소 3판 필요 24명일땐 최소 4판 필요 옆 사진 처럼 나눗셈을 이용해서 하면 소수점이 나온다. 8 % 7 = 1.xxx 소수점을 올려서 문제를 풀어보기로 했다. 소수점을 올릴때는 Math.ceil()을 이용한다. 소수점을 올리기위해서는 나누기할당을 이용해야한다. 그래서 아래..

[프로그래머스] 중앙값 구하기

문제 중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요. 해결 과정 1. 배열이 임의로 주어질 수 있으니 정렬을 먼저한다. 자바스크립트의 함수 기능 중 .sort()를 통해서 정렬할 수 있으나 아직 입문 단계이기에 다른 방법으로 해결해보려 한다. 그렇다면 정렬을 하기 위해서 어떻게 해야할까? 1.1. 배열 중에서 최소 값을 찾는다. let minNum = 1000; let cnt = 0; while() { cnt = cnt + 1; } // 배열의 순서를 증가 시키기 위해 반복문을 활용한다..

[프로그래머스] 배열 두배 만들기 | JS

문제 정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요. 해결 과정 .length를 할용하여 문제를 풀었다. 새롭게 알게된 점📝 x 정답 function solution(numbers) { var answer = []; for(let i = 0; i < numbers.length; i++) { answer[i] = numbers[i] * 2 } return answer; } https://school.programmers.co.kr/learn/courses/30/lessons/120809 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고..

[코딩 테스트] 분수의 덧셈 | JS

문제 첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1, 두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요. 해결 과정 1. 분모의 덧셈을 하기 위해 const numer와 const denom의 분자, 분모의 변수를 만들어줬다. 2. 분자 분모의 최대공약수로 나누는 것이다. 최대 공약수는 어떻게 만들까? i) 분자 분모 중 작은 수를 찾아야 한다. 작은 수를 찾기 위해 let minNumer라는 변수를 만들었다. ii) 작은 수로 분자 분모를 나눈다. ii-i) 둘 다 나눠 떨어지면 그 나눈 수가 최대 공약수이다...

[프로그래머스] 숫자 비교하기 | JS

문제 정수 num1과 num2가 매개변수로 주어집니다. 두 수가 같으면 1 다르면 -1을 retrun하도록 solution 함수를 완성해주세요. 해결 과정 이 문제는 앞에 했던 문제에 비해 시간이 걸렸다. 3분정도 더? 함수안에 if문을 이용해서 문제를 풀었다. 새롭게 알게 된 점 📝 다른 사람의 풀이를 들어가보니 삼항 조건 연산자로 풀 수 있었다..! if문 밖에 안떠올랐던 나는 다시 한번 더 삼항 조건 연산자로 풀어보려고 한다. 정답 function solution(num1, num2) { if(num1 == num2) { return 1 } else { return -1 } } https://school.programmers.co.kr/learn/courses/30/lessons/120807

728x90