코딩테스트

프로그래머스 코딩테스트(숨어있는 숫자의 덧셈 (1), 주사위 게임 1, 카운트 업)

SOME코딩 2023. 4. 25. 14:38

<숨어있는 숫자의 덧셈 (1)>

문제 설명
문자열 my_string이 매개변수로 주어집니다. my_string안의 모든 자연수들의 합을 return하도록 solution 함수를 완성해주세요.

풀이

class Solution {
    public int solution(String my_string) {
        int answer = 0;
        char ch;
        for(int i=0;i<my_string.length();i++){
            ch = my_string.charAt(i);
            if('1'<=ch && ch<='9')
                answer += ch-'0';
        }
        return answer;
    }
}

 

<주사위 게임 1>

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

a와 b가 모두 홀수라면 a2 + b2 점을 얻습니다.
a와 b 중 하나만 홀수라면 2 × (a + b) 점을 얻습니다.
a와 b 모두 홀수가 아니라면 |a - b| 점을 얻습니다.
두 정수 a와 b가 매개변수로 주어질 때, 얻는 점수를 return 하는 solution 함수를 작성해 주세요.

 

풀이

class Solution {
    public int solution(int a, int b) {
        int answer = 0;
        if(a%2==1&&b%2==1){
            answer = a*a+b*b;
        } else if(a%2==1||b%2==1){
            answer = 2*(a+b);
        } else
            answer = a-b>=0?a-b:-(a-b);
        return answer;
    }
}

 

다른 사람 풀이

class Solution {
    public int solution(int a, int b) {
        int answer = 0;
        if (a % 2 != 0 && b % 2 != 0) {
            answer = (a * a) + (b * b);
        }
        else if (a % 2 != 0 || b % 2 != 0) {
            answer = 2 * (a + b);
        }
        else {
            answer = Math.abs(a - b);
        }
        return answer;
    }
}

 

<카운트 업>

문제 설명
정수 start와 end가 주어질 때, start부터 end까지의 숫자를 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요.

 

풀이

class Solution {
    public int[] solution(int start, int end) {
        int[] answer = {};
        answer = new int[end-start+1];
        for(int i=0;i<answer.length;i++){
            answer[i] = start+i;
        }
        return answer;
    }
}