ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 프로그래머스 코딩테스트(간단한 식 계산하기, 숫자 찾기, 순서 바꾸기)
    코딩테스트 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;
        }
    }
Designed by Tistory.