온보딩 커리큘럼(알고리즘풀기 기초 0단계 2일차)
머쓱이네 양꼬치 가게는 10인분을 먹으면 음료수 하나를 서비스로 줍니다. 양꼬치는 1인분에 12,000원, 음료수는 2,000원입니다. 정수 n 과 k 가 매개변수로 주어졌을 때, 양꼬치 n 인분과 음료수 k 개를 먹었다면 총얼마를 지불해야 하는지 return 하도록 solution 함수를 완성해보세요.
function solution(n, k) {
return 12000 * n + (k - parseInt(n / 10)) * 2000
}
console.log(solution(10, 3))
머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n 이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요.
function solution(n) {
return parseInt(n / 7) === 0 ? parseInt(n / 7) + 1 : parseInt(n / 7)
}
머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice 와 피자를 먹는 사람의 수 n 이 매개변수로 주어질 때, n 명의 사람이 최소 한 조각 이상 피자를 먹으려면 최소 몇 판의 피자를 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.
function solution(n) {
return parseInt(n / 7) === 0 ? parseInt(n / 7) + 1 : parseInt(n / 7)
}
머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice 와 피자를 먹는 사람의 수 n 이 매개변수로 주어질 때, n 명의 사람이 최소 한 조각 이상 피자를 먹으려면 최소 몇 판의 피자를 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.
function solution(slice, n) {
return Math.ceil(n / slice)
}
사분면은 한 평면을 x축과 y축을 기준으로 나눈 네 부분입니다. 사분면은 아래와 같이 1부터 4까지 번호를매깁니다.
- x 좌표와 y 좌표가 모두 양수이면 제1사분면에 속합니다.
- x 좌표가 음수, y 좌표가 양수이면 제2사분면에 속합니다.
- x 좌표와 y 좌표가 모두 음수이면 제3사분면에 속합니다.
- x 좌표가 양수, y 좌표가 음수이면 제4사분면에 속합니다.
x 좌표 (x, y)를 차례대로 담은 정수 배열 dot이 매개변수로 주어집니다. 좌표 dot이 사분면 중 어디에 속하는지 1, 2, 3, 4 중 하나를 return 하도록 solution 함수를 완성해주세요.
function solution(dot) {
const x = dot[0]
const y = dot[1]
if (x > 0 && y > 0) {
return 1
}
if (x < 0 && y > 0) {
return 2
}
if (x < 0 && y < 0) {
return 3
}
return 4
}
머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다.
구매한 옷의 가격price
가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요.
function solution(money) {
let number = parseInt(money / 5500)
let Changes = money - (number * 5500)
return [number, Changes]
}
어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.
function solution(n) {
let result = 1
for (i = 1; i < n; i++) {
if (i * i === n) {
result = 1
} else {
result
}
}
return result === 0 ? 2 : 1
}
function solution(n) {
let x = Math.sqrt(n)
if (x %1 === 0) {
return 1
} else {
return 2
}
}
마지막 제곱근 구하는건 처음에 제곱근을 구하는 메서드를 모르고 for문으로 풀었다.
오늘 sqrt메서드를 배웠고 다만 이전에는 아예 풀지도 못했던걸 이제는 풀수는 있어서 성취감 있었다.
좀 더 기본기를 갖추고 풀면 더 좋은 방법으로 풀 수 있을 것 같다는 생각이 들었다.
오늘부터 알고리즘 풀기인데 0단계는 혼자 다 풀어보고싶다.