function solution(n, k) {
let a = n * 12000;
let b = k * 2000;
let answer = a + b;
if (n >= 10) {
let c = Math.floor(n / 10)
return answer - 2000 * c
}else{
return answer
}
}
console.log(solution(64,6))
먼저 변수 answer에 양꼬치와 음료수를 먹은 토탈 값을 할당해놓는다.
그 후 양꼬치를 10인분 이상 먹으면 10인분 당 음료수 하나를 서비스를 준다고 했으니 n(양꼬치를 시킨 수) >= 10 이라면
c라는 변수에 n / 10을 해서 Math.floor를 활용해 뒷자리를 버리겠다는 코드를 짰다.
그리고 return answer(양꼬치 음료수 시킨 토탈값) - 2000(음료수 개당 값) * c(서비스 받은 음료수 개수)
를 해주고 만약 양꼬치를 10인분 이상 시키지 않았다, 즉 n이 10보다 작다면 if 조건문에 충족하지 않으므로 else { return answer }
가 실행되게 된다.
function solution(n) {
var answer = 0;
answer = Math.ceil(n / 7);
return answer;
}
console.log(solution(7))
console.log(solution(1))
console.log(solution(15))
Math.ceil 이라는 메소드를 사용하여 올림을 했다.
7 / 7 = 1
1 / 7 = 0.1428 -> 1
15 / 7 = 2.1428 -> 3
입출력 예를 잘 보고 힌트를 얻어가면 수월하게 풀 수 있을거 같다.
function solution(slice, n) {
var answer = Math.ceil(n/slice);
return answer;
}
console.log(solution(7,10))
console.log(solution(4,12))
마찬가지로 Math.ceil 메소드를 사용하여 올림을 했다.
10 / 7 = 1.428 -> 2
12 / 4 = 3 -> 3
function solution(dot) {
if(dot[0] > 0 && dot[1] > 0){
return 1
}else if(dot[0] < 0 && dot[1] > 0){
return 2
}else if(dot[0] < 0 && dot[1] < 0){
return 3
}else{
return 4
}
}
console.log(solution([2,4]))
console.log(solution([-7,9]))
dot 이라는 매개변수에 배열이 들어오기 때문에 dot의 0번째 인덱스와 1번째 인덱스를 각각 0과 비교해서 음수인지 양수인지를 판별하는조건문을 활용했다.
function solution(money) {
let 아메리카노개수 = Math.floor(money / 5500);
let 잔돈 = money - 5500 * 아메리카노개수
return [아메리카노개수, 잔돈]
}
console.log(solution(5500))
console.log(solution(15000))
변수 아메리카노개수에 매개변수 money를 5500으로 나눈 값을 Math.floor 메소드를 사용해 내림하여 할당했다.
내림을 한 이유는 만약 15000원을 가지고 아메리카노를 산다고 하면 money에 15000원이 들어가게 되고 15000 / 5500 = 2.72727...
값이 되기 때문이다. 정수 부분만 구하면 되기때문에 소숫점은 버리기 위해 사용했다.
function solution(price) {
if(100000 <= price && price < 300000){
return Math.floor(price * 0.95)
}else if(300000 <= price && price < 500000){
return Math.floor(price * 0.90)
}else if(500000 <= price){
return Math.floor(price * 0.80)
}else if(100000 > price){
return Math.floor(price)
}
}
console.log(solution(150000))
console.log(solution(580000))
주의해야 할 점은 조건이 겹치지 않게 범위를 명확히 정해줘야 한다는 점이다.
제한사항에 소수점 이하를 버린 정수를 return 하라고 돼있으므로 Math.floor 메소드를 활용한다.
function solution(n) {
if(Math.sqrt(n) % 1 == 0){
return 1
}else{
return 2
}
}
console.log(solution(144))
console.log(solution(976))
이해해야 될 부분은 소수를 1로 나누게 되면 나머지가 0 이 아닌 0.xxxxxx.. 와 같이 소수점 부분이 남는다는 것이다.
예를 들어 3.141592 를 1로 나누게 된다면 나머지가 0.141492가 되는 것이다.
Math.sqrt( ) 메소드는 제곱근을 출력하는 메소드이다. 이 메소드를 활용해서 n의 제곱근을 1로 나누어 나머지가 0일때는 n은 제곱근임을 알 수 있고 , 1로 나누어 떨어지지 않을 때는 n은 제곱근이 아님을 알 수 있다.
댓글