조건문

2dean·2023년 5월 27일
0

Algorithm

목록 보기
3/17
post-thumbnail

문제 1

주사위 게임2

1부터 6까지 숫자가 적힌 주사위가 세 개 있습니다. 세 주사위를 굴렸을 때 나온 숫자를 각각 a, b, c라고 했을 때 얻는 점수는 다음과 같습니다.

세 숫자가 모두 다르다면 a + b + c 점을 얻습니다.
세 숫자 중 어느 두 숫자는 같고 나머지 다른 숫자는 다르다면 (a + b + c) × (a2 + b2 + c2 )점을 얻습니다.
세 숫자가 모두 같다면 (a + b + c) × (a2 + b2 + c2 ) × (a3 + b3 + c3 )점을 얻습니다.
세 정수 a, b, c가 매개변수로 주어질 때, 얻는 점수를 return 하는 solution 함수를 작성해 주세요.

풀이

    int answer = 0;
        int result1 = a + b + c;
        int result2 = a*a + b*b + c*c;
        int result3 = a*a*a + b*b*b + c*c*c;
        // 숫자가 모두 다를때            (a + b + c)
        if (a!= b && a!= c && b!=c) {
            answer = result1;
        }
        // 두 숫자는 같고 하나는 다를때    (a + b + c) × (a2 + b2 + c2 )
        if (a == b && a!=c || a == c && b!=c || b == c && a!=b) {
            answer = result1 * result2;
        }
        // 세 숫자가 모두 같다면         (a + b + c) × (a2 + b2 + c2 ) × (a3 + b3 + c3 )
        if (a == b && a == c) {
            answer = result1 * result2 * result3;
        }
        return answer;

잡담ㅋ

실수로 if문 안에 result 의 값을 넣어놓고 왜 계속 0이나오지? 라고생각함
ㅋㅋㅋㅋㅋㅋㅋ..제가 0이 되게 썼으니까요

문제 2

원소들의 곱과 합

풀이

int solution(int[] num_list) {
        int answer = 0;
        int result1 = 1;
        int result2 = 0;
        for(int i=0; i<num_list.length; i++){
            // 모든 원소들의 곱
            result1 *= num_list[i];
            // 모든 원소들의 합의 제곱 (합)
            result2 += num_list[i];
        }
        // 모든 원소들의 합의 제곱 (제곱)
        result2 *= result2;
        // 곱과 합의 제곱 비교
        if(result1 < result2) {
            answer = 1;
        } else {
            answer = 0;
        }
        return answer;
    }

잡담ㅋ

반복문 사용시 실행순서를 잘..^^ 생각하자~


문제 3

문제

홀수만 순서대로 이어 붙인 수와 짝수만 순서대로 이어 붙인 수의 합을 return

풀이

  int answer = 0;
        String even = "";
        String odd = "";

        //홀수만 순서대로 이어 붙인 수와 짝수만 순서대로 이어 붙인 수의 합을 return

        for (int i=0; i<num_list.length; i++){
            // 홀짝 판별
            if(num_list[i] % 2 == 0){
                // 각각 순서대로 이어 붙이기
                even += num_list[i];
            } else {
                odd += num_list[i];
            }
            // 이어 붙인 수의 합 계산
            if (!even.isEmpty() && !odd.isEmpty()){
                answer =Integer.parseInt(even) + Integer.parseInt(odd);
            }
        }

        return answer;
profile
냅다 써보는 공부의 흔적😇

0개의 댓글