아이스 아메리카노 Lv. 0

박영준·2023년 4월 19일
0

코딩테스트

목록 보기
53/300

문제 설명

머쓱이는 추운 날에도 아이스 아메리카노만 마십니다. 아이스 아메리카노는 한잔에 5,500원입니다. 머쓱이가 가지고 있는 돈 money가 매개변수로 주어질 때, 머쓱이가 최대로 마실 수 있는 아메리카노의 잔 수와 남는 돈을 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.

class Solution {
    public int[] solution(int money) {
        int[] answer = {};
        return answer;
    }
}

제한 사항

  • 0 < money ≤ 1,000,000

입출력 예

입출력 예 설명

  • 입출력 예 #1

    • 5,500원은 아이스 아메리카노 한 잔을 살 수 있고 잔돈은 0원입니다.
  • 입출력 예 #2

    • 15,000원은 아이스 아메리카노 두 잔을 살 수 있고 잔돈은 4,000원입니다.

해결법

방법 1

class Solution {
    public int[] solution(int money) {      // 현재 가진 돈
   
        int[] answer = new int[2];		// 배열의 길이를 2로 만듦.

        for (int i = 0; i <= 181; i++) {
            if (money >= 5500 * i) {		// 가진 돈으로 아메리카노를 살 수 있는 경우
                answer[0] = i;
                answer[1] = money - 5500 * i;
            }
        }

        return answer;
    }
}
  • for문을 사용해서 풀었다.

  • i <= 181

    • i 는 '살 수 있는 잔 수'를 의미.
    • 제한 사항으로 money 는 최대치가 1,000,000원 이었음
    • 1,000,000 을 5500으로 나누면 최대 살 수 있는 잔 수가 181개
  • answer 배열에서 인덱스가 들어갈 2칸을 직접 생성해줘야 한다.

방법 2

class Solution {
    public int[] solution(int money) {
    
        int[] answer = new int[2];
        
        answer[0] = money / 5500;
        answer[1] = money % 5500;
        
        return answer;
    }
}
  • 더 간단하게 푸는 방법

방법 3

class Solution {
    public int[] solution(int money) {
    
        return int[] answer = {money / 5500, money % 5500};       
    }
}
  • int[] answer = new int[2]; 처럼 배열을 생성하지 않고도
    { } 중괄호 안에 그대로 넣을 수도 있다.

아이스 아메리카노

profile
개발자로 거듭나기!

0개의 댓글