입력 : 3 2
출력 : 1500
class Solution {
public int solution(int num1, int num2) {
int answer = 0;
double casting = 0;
casting = (double)num1/(double)num2 ;
answer = (int)(casting*1000);
return answer;
}
}
코드 리뷰 :
int형 매개변수 2개를 받아, num1/num2으로 나누기를 하면 소수점이 없어진다.
따라서, num1,num2에 캐스팅을 해주어 데이터 소실을 방지한다.
캐스팅된 값에 *1000을 하고, 인트형으로 캐스팅을 하여 answer을 리턴한다.
입력 : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] ,[89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
출력: 5.5 , 94.0
class Solution {
public double solution(int[] numbers) {
double sum = 0;
double answer = 0;
for(int i = 0; i<numbers.length; i++){
sum += numbers[i];
}
answer = sum/numbers.length;
return answer;
}
}
코드 리뷰 :
저장된 배열 값을 더한뒤 캐스팅하여 실수형으로 변환시켜 값을 리턴한다.
입력 : 10
출력 : 30
class Solution {
public int solution(int n) {
int answer = 0;
for(int i = 1; i<n+1; i++){
if(i % 2 == 0){
answer += i;
}
}
return answer;
}
}
입력 : n = 10, k = 3
출력 : 124,000
class Solution {
public int solution(int n, int k) {
int y = 0;
int b = 0;
int answer = 0;
y = n * 12000;
b = k * 2000;
if(n / 10 > 0 ) {
n /= 10;
answer = y + b - (n*2000);
}else{
answer = y+b;
}
return answer;
}
}
코드 리뷰 :
양꼬치의 총 가격은 양꼬치 먹은 갯수 개당 가격 , 음료 역시 갯수 개당 가격으로 표현할 수 있다. 이때, 양꼬치 먹은 갯수가 10개 이상이면 10개당 음료 1개 가격을 할인해준다.
나는 if문을 써서 n/10 의 몫이 >0 크면 할인이 포함된 가격, 아니면 정가로 계산하게 끔
프로그램을 구성하였다.
정답은 맞지만 불필요한 계산 식이 많은거 같다
라는 생각이 든다..
another idea
return n 12000 + k 2000 - (n / 10 * 2000);
입력 : [149, 180, 192, 170] / 167
출력 : 3
class Solution {
public int solution(int[] array, int height) {
//int[] array = {149,180,192,170};
int cnt = 0;
for(int i = 0; i<array.length; i++){
if(height < array[i]){
cnt++;
}
}
return cnt;
}
}
코드 리뷰 :
매개변수로 배열이 주어지는데, for문을 통해 배열 인덱스(0~ array.length)까지
비교하여 키 큰 수를 카운트 하는 방법으로 프로그램을 구성하였다.
여기서 for문은 향상된 for문으로 구성도 가능한거 같다.
for(int num :array){
if(num > height){
cnt++;
}
}
입력 : [1, 1, 2, 3, 4, 5] , 1
출력 : 2
class Solution {
public int solution(int[] array, int n) {
//int[] array = {1,1,2,3,4,5};
int cnt = 0;
for(int i = 0; i<array.length; i++){
if(n == array[i]){
cnt++;
}
}
return cnt;
}
}
num_list | result |
---|---|
[1, 2, 3, 4, 5] | [5, 4, 3, 2, 1] |
[1, 1, 1, 1, 1, 2] | [2, 1, 1, 1, 1, 1] |
[1, 0, 1, 1, 1, 3, 5] | [5, 3, 1, 1, 1, 0, 1] |
class Solution {
public int[] solution(int[] num_list) {
int[] reverse = new int[num_list.length];
for(int i = 0; i<num_list.length;i++){
reverse[i] = num_list[num_list.length -1 - i] ;
}
return reverse;
}
}
numbers | result |
---|---|
[1,2,3,4,5] | [2,4,6,8,10] |
[1, 2, 100, -99, 1, 2, 3] | [2, 4, 200, -198, 2, 4, 6] |
class Solution {
public int[] solution(int[] numbers) {
int[] multi = new int[numbers.length];
for(int i = 0; i<numbers.length; i++){
numbers[i] *= 2;
}
return numbers ;
}
}
numbers | result |
---|---|
["We", "are", "the", "world!"] | [2, 3, 3, 6] |
["I", "Love", "Programmers."] | [1, 4, 12] |
class Solution {
public int[] solution(String[] strlist) {
int[] strNum = new int[strlist.length];
for(int i = 0 ; i<strlist.length; i++){
strNum[i] = strlist[i].length();
}
return strNum ;
}
}
코드 리뷰 :
String 자료형 매개변수를 받아와 0 ~.length 크기만큼 반복시행하여 인덱스(0~끝번호)까지 인덱스에 저장된 문자의 길이를 새로운 int형[] 배열 strNum에 저장하여 return하게 프로그램 작성