개발로그필름

[프로그래머스] 양꼬치 javascript (~~연산자, Math.floor(), parseInt() ) 본문

coding test/프로그래머스

[프로그래머스] 양꼬치 javascript (~~연산자, Math.floor(), parseInt() )

yuullog 2023. 3. 2. 20:47
728x90
반응형
SMALL

 

https://school.programmers.co.kr/learn/courses/30/lessons/120830

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제 설명

머쓱이네 양꼬치 가게는 10인분을 먹으면 음료수 하나를 서비스로 줍니다. 양꼬치는 1인분에 12,000원, 음료수는 2,000원입니다. 정수 n과 k가 매개변수로 주어졌을 때, 양꼬치 n인분과 음료수 k개를 먹었다면 총얼마를 지불해야 하는지 return 하도록 solution 함수를 완성해 보세요.

 

제한사항

  • 0 < n < 1,000
  • n / 10 ≤ k < 1,000
  • 서비스로 받은 음료수는 모두 마십니다.

 

입출력 예

 

입출력 예 설명

 

solution.js

function solution(n, k) {
    // 10인분보다 작으면 nX12000 + k*2000
    // 10인분보다 크면 drink = n / 10 
    // 똑같이 nX12000 + k*2000 한다음에 - drink*2000
    
    var drink = Math.floor(n / 10)
    
    if (n < 10) {
        return n*12000 + k*2000
    } else if (n >= 10) {
        return n*12000 + k*2000 - drink*2000
    }
}

 

 

 

다른 사람 풀이 1

function solution(n, k) {
    k-=~~(n/10);
    if (k < 0) k = 0;
    return n*12000+k*2000;
}

나는 Math.floor() 연산자를 직접 사용해서 소수점 아래 숫자를 버렸는데

이 분은 ~~ 연산자를 사용하였다

그래서 처음부터 인분에 따라 음료수 개수를 뺀 다음에 바로 return으로 계산하였다

 

~~ 연산자

Math.floor()와 같은 연산자

 

 

다른 사람 풀이 2

function solution(n, k) {
    return n*12000 + k*2000 - parseInt(n/10)*2000
}

 

여기에서는 parseInt()로 정수 반환을 해주었다

 

 

 

 

반응형
LIST
Comments