코딩테스트

프로그래머스 코딩테스트(간단한 식 계산하기, 숫자 찾기, 순서 바꾸기)

SOME코딩 2023. 5. 10. 14:33

<간단한 식 계산하기>

문제 설명
문자열 binomial이 매개변수로 주어집니다. binomial은 "a op b" 형태의 이항식이고 a와 b는 음이 아닌 정수, op는 '+', '-', '*' 중 하나입니다. 주어진 식을 계산한 정수를 return 하는 solution 함수를 작성해 주세요.

 

풀이

class Solution {
    public int solution(String binomial) {
        String[] arr = binomial.split(" ");
        if(arr[1].equals("+")){
            return Integer.parseInt(arr[0])+Integer.parseInt(arr[2]);
        } else if(arr[1].equals("-")){
            return Integer.parseInt(arr[0])-Integer.parseInt(arr[2]);
        } else {
            return Integer.parseInt(arr[0])*Integer.parseInt(arr[2]);
        }
    }
}

 

<숫자 찾기>

문제 설명
정수 num과 k가 매개변수로 주어질 때, num을 이루는 숫자 중에 k가 있으면 num의 그 숫자가 있는 자리 수를 return하고 없으면 -1을 return 하도록 solution 함수를 완성해보세요.

 

풀이

class Solution {
    public int solution(int num, int k) {
        String str = num+"";
        int answer = -1;
        for(int i=0;i<str.length();i++){
            if(str.charAt(i) == k+'0'){
                return i+1;
            }
        }
        return answer;
    }
}

 

다른 사람 풀이

class Solution {
    public int solution(int num, int k) {
        return ("-" + num).indexOf(String.valueOf(k));
    }
}

 

<순서 바꾸기>

문제 설명
정수 리스트 num_list와 정수 n이 주어질 때, num_list를 n 번째 원소 이후의 원소들과 n 번째까지의 원소들로 나눠 n 번째 원소 이후의 원소들을 n 번째까지의 원소들 앞에 붙인 리스트를 return하도록 solution 함수를 완성해주세요.

 

풀이

class Solution {
    public int[] solution(int[] num_list, int n) {
        int[] answer = new int[num_list.length];
        int i = 0;
        for(int j=n;j<num_list.length;j++){
            answer[i]=num_list[j];
            i++;
        }
        for(int k=0;k<n;k++){
            answer[i]=num_list[k];
            i++;
        }
        return answer;
    }
}

 

다른 사람 풀이

class Solution {
    public int[] solution(int[] num_list, int n) {
        int idx = 0;
        int[] answer = new int[num_list.length];
        for (int i = n;i < num_list.length;i++)
            answer[idx++] = num_list[i];
        for (int i = 0;i < n;i++)
            answer[idx++] = num_list[i];
        return answer;
    }
}