Question
머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다.
구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요.
Thinking
1. if문 사용. 50만원 이상/30만원 이상/10만원 이상/10만원 이하 인 경우로 나눠 답 계산 (50만원 이상이 가장 범위가 넓으니까 50만원 이상부터 시작)
Answer
1차 답안
class Solution {
public int solution(int price) {
int answer = 0;
// case 1: 50만원 이상
if(price>=500000) answer = price*0.8;
// case 2: 30만원 이상
else if(price>=300000) answer = price*0.9;
// case 3: 10만원 이상
else if(price>=100000) answer = price*0.95;
// case 4: else (10만원 미만)
else answer = price;
return answer;
}
}
코드 실행 중 possible lossy conversion from double to int 오류 발생
-> 강제 형변환으로 해결
2차 답안 (최종)
class Solution {
public int solution(int price) {
int answer = 0;
// 50만원 이상일 경우
if(price>=500000) answer = (int)(price*0.8);
// 30만원 이상일 경우
else if(price>=300000) answer = (int)(price*0.9);
// 10만원 이상일 경우
else if(price>=100000) answer = (int)(price*0.95);
else answer = price;
return answer;
}
}
Question
머쓱이는 추운 날에도 아이스 아메리카노만 마십니다. 아이스 아메리카노는 한잔에 5,500원입니다. 머쓱이가 가지고 있는 돈 money가 매개변수로 주어질 때, 머쓱이가 최대로 마실 수 있는 아메리카노의 잔 수와 남는 돈을 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.
Thinking
1. 필요한 변수 2개; money를 5500으로 나눈 몫, 나머지
2. 배열을 return -> 처음부터 배열 길이 2로 선언
Answer
class Solution {
public int[] solution(int money) {
int[] answer = {0, 0};
answer[0] = (int)(money/5500);
answer[1] = (int)(money%5500);
return answer;
}
}
Question
머쓱이는 40살인 선생님이 몇 년도에 태어났는지 궁금해졌습니다. 나이 age가 주어질 때, 2022년을 기준 출생 연도를 return 하는 solution 함수를 완성해주세요.
Constraints
Thinking
2022년 기준, 2022년생이 1살 -> birth_year = 2022 - age + 1
Answer
class Solution {
public int solution(int age) {
int answer = 2022-age+1;
return answer;
}
}
Question
정수가 들어 있는 배열 num_list가 매개변수로 주어집니다. num_list의 원소의 순서를 거꾸로 뒤집은 배열을 return하도록 solution 함수를 완성해주세요.
Constraints
Thinking
매개변수로 들어오는 배열의 길이를 알 수 없다 -> num_list.length 크기의 배열 선언
반복문 이용해 순서 거꾸로 뒤집기
Answer
class Solution {
public int[] solution(int[] num_list) {
int len = num_list.length;
int[] answer = new int[len];
for(int i=0; i<len; i++){
answer[i] = num_list[len-1-i];
}
return answer;
}
}