본문 바로가기
코딩연습일기/코딩테스트연습

코딩테스트연습#2

by 실버십 2023. 2. 26.

 

1. (각도기) angle이 매개변수로 주어질 때 

예각: 0<angle< 90   => 1

직각: angle = 90   => 2

둔각: 90<angle< 180   => 3

평각: angle = 180   => 4

 

class Solution {
    public int solution(int angle) {
        int answer = 0;
        if ( 0 < angle && angle < 90 ){
            answer = 1;
        } else if ( angle == 90 ) {
            answer = 2;
        } else if ( 90 < angle && angle < 180 ){
            answer = 3;
        } else if ( angle == 180 ) {
            answer = 4;
        } else {
            answer = 0;
        }
        return answer;
    }
}

마지막 answer에는 error입니다 를 넣고 싶은데, 문자열이 int로 선언 된 answer로 할 수가 없다네. 어떻게 해야할까. 

다른 사람 답에서 filter라는 걸 썼다고 한다. filter가 뭔지 찾아볼 것!

 

 

 

2. (양꼬치) 10인분을 먹으면 음료수 하나 서비스. 양꼬치는 1인분에 12,000원, 음료수는 2,000원. 정수 n, k가 매개 변수로 주어질 때, 양꼬치 n인분과 음료수 k개를 먹었다면 총 얼마를 지불해야할까?

class Solution {
    public int solution(int n, int k) {
        int answer = 0;
        float rest = n%10;
        int food = (n/10) * 2000;
        
        answer = (n * 12000) + (k*2000) - food;

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

        return answer;
    }
}

간단히 끝날 문제를 자꾸 if문을 쓰려고 한다..

 

3. (배열의 평균 값) 정수 배열 numbers가 매개 변수로 주어질 때, numbers의 원소의 평균값을 구하시오. 

class Solution {
    public double solution(int[] numbers) {
        double answer = 0;
        double number = 0;
        for (int i = 0; i <numbers.length; i++) {
         number += numbers[i];
         answer = number/numbers.length;
        }
        return answer;
    }
}

--- 다른 사람의 답 : 내가 한 것보다 간결하다. 

class Solution {
   public double solution(int[] numbers) {
         double answer = 0;
         for (int i = 0; i < numbers.length; i++){
             answer += numbers[i];
         }
         answer = answer/numbers.length;
        return answer;
     }
}

---또 다른 사람의 답: Array.strea을 사용했다. 뭔지 모름.. 공부할 것

더보기
import java.util.Arrays;

class Solution {
    public double solution(int[] numbers) {
        return Arrays.stream(numbers).average().orElse(0);
    }
}

 

 

'코딩연습일기 > 코딩테스트연습' 카테고리의 다른 글

코딩테스트연습 #4  (0) 2023.03.04
코딩테스트연습 #3  (0) 2023.03.01
코딩테스트연습 #1  (0) 2023.02.25