반응형
[ 프로그래머스 ] 아메리카노 (JAVA)
출처 : https://school.programmers.co.kr/learn/courses/30/lessons/120819
문제
머쓱이는 추운 날에도 아이스 아메리카노만 마십니다. 아이스 아메리카노는 한잔에 5,500원입니다. 머쓱이가 가지고 있는 돈 money가 매개변수로 주어질 때, 머쓱이가 최대로 마실 수 있는 아메리카노의 잔 수와 남는 돈을 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요
제한사항
- 0 < money ≤ 1,000,000
입출력 예
money | result |
5,500 | [ 1 , 0 ] |
15,000 | [ 2 , 4000 ] |
입출력 예 설명
입출력 예 #1
- 5,500원은 아이스 아메리카노 한 잔을 살 수 있고 잔돈은 0원입니다.
입출력 예 #2
- 15,000원은 아이스 아메리카노 두 잔을 살수 있고 잔돈은 4,000원입니다.
💡코드(내가 푼 방식)
class Solution {
public int[] solution(int money) {
int[] answer = {};
answer = new int[2];
int price = 5500;
answer[0] = money/price;
answer[1] = money%price;
return answer;
}
}
🔥 코드 리팩토링
위에서 내가 짠 코드는 또 생각없이 길게 풀어서 짠 것 같아 좀 더 효율적이고 가독성이좋으며 메모리를 더 효율적으로 사용하기 위해 다시 코드를 짜보았다.
class Solution {
public int[] solution(int money) {
int[] answer = new int[2];
answer[0] = money / 5500;
answer[1] = money % 5500;
return answer:
}
}
✔️ 처음부터 answer을 선언과 동시에 크기가 2인 배열을 할당하여 불필요한 메모리 사용을 피했다.
✔️ 변수 'price'를 사용하지 않고 바로 값을 넣어서 코드를 간결하게 했고, 변수를 하나 덜사용했기 때문에 계산량이조금 더 적기 때문에 효율성이좋다.
✔️ 각 자리에 값을 넣어주는데 첫번째 자리는 아메리카노 값에 5500원을 나눈 몫을, 두번째 자리는 그 나머지를 지정해주면 된다.
반응형
'프로그래머스' 카테고리의 다른 글
[프로그래머스] 중앙값 구하기 (JAVA) (0) | 2024.03.22 |
---|---|
[프로그래머스] 분수의 덧셈(최대 공약수 구하기 / 유클리드 호제법) (0) | 2024.03.21 |
[프로그래머스] 짝수 홀수 개수 (JAVA) (0) | 2024.03.13 |
[프로그래머스] 문자열 뒤집기 (JAVA) (0) | 2024.03.13 |
[프로그래머스] 피자 나눠 먹기(1) - JAVA (1) | 2024.02.26 |