프로그래머/프로그래머스

C#)프로그래머스_양꼬치

FourthWay 2023. 2. 21. 07:54
728x90
반응형

문제설명

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

 

제한사항

  • 0 < n <1000
  • n/10 <=k <1000
  • 서비스로 받음 음료수는 모두 마십니다.

입출력 예

n k result
10 3 124,000
64 6 768,000

 

입출력 예 설명

입출력 예 #1

  • 10인분을 시켜 서비스로 음료수를 받아 총 10*12000 + 3*2000-1*2000 = 124,000원입니다.

입출력 예 #2

  • 64인분을 시켜 서비스로 음료수를 받아 총 64*12000+6*2000-6*2000 = 768,000원입니다.

나의 풀이

using System;

public class Solution
{
  public int sulution(int n, int k)
  {
   int answer = 0;
   int nkoji = 12000;
   int ndrink = 2000;
  
   answer = (nkoni*n) + (ndrink * (k-n/10));
  
   return answer;
  }
}
테스트 1
입력값 10, 3
기댓값 124000
실행 결과 테스트를 통과하였습니다.
테스트 2
입력값 64, 6
기댓값 768000
실행 결과 테스트를 통과하였습니다.

 

다른 사람들의 풀이

using System;

public class Solution 
{
    public int solution(int n, int k) 
    {
        int answer = 0;
        int service = n/10;
        answer = n*12000 + (k-service)*2000;
        return answer;
    }
}




using System;

public class Solution 
{
    public int solution(int n, int k) 
    {
        int answer = 0;
        int hap = n*12000;
        int min = k - n/10;
        answer = hap + min * 2000;
        return answer;
    }
}






using System;

public class Solution 
{
    public int solution(int n, int k) 
    {
        int answer = 0;

        if (n <= 0 || n >= 1000) return answer;
        int nMod = n / 10;
        if (nMod > k || k >= 1000) return answer;

        var nSum = n * 12000;

        var kSum = (k - nMod) * 2000;

        answer = nSum + kSum;

        return answer;
    }
}






using System;

public class Solution 
{
    public int solution(int n, int k) 
    {
        int answer = 0;
        answer = (n * 12000) + (k * 2000);
        for(int i=0;i<(n/10);i++)
        {
            answer -= 2000;
        }
        return answer;
    }
}





using System;

public class Solution 
{
    public int solution(int n, int k) 
    {
        int answer = 0;
        // 10인분당 음료수 서비스 하나 제공.
        // 1 인분:12000 / 음료수:2000
        // n 양꼬치 , k 음료수
        int nPrice = n * 12000;
        int kPrice = k * 2000;
        int total = nPrice + kPrice ;
        int service = ( n / 10) * 2000;
        answer = total - service ;

        return answer;
    }
}

**역시 하나의 문제를 풀더라도 엄청 여러 가지 방법이 있고,,,

난이도는  또 올라가네요...ㅜㅜ

근데 생각하기 나름인 거 같아요.. 어찌 보면 코딩이 아니라 어릴 적 학교 다닐 때 수학문제라고 생각하면 또 간단할 수도...ㅎㅎ

728x90
반응형