코딩테스트

프로그래머스 코딩테스트(진료순서 정하기, 문자열 반복해서 출력하기, 숨어있는 숫자의 덧셈 (2))

SOME코딩 2023. 5. 20. 22:01

<진료순서 정하기>

문제 설명
외과의사 머쓱이는 응급실에 온 환자의 응급도를 기준으로 진료 순서를 정하려고 합니다. 정수 배열 emergency가 매개변수로 주어질 때 응급도가 높은 순서대로 진료 순서를 정한 배열을 return하도록 solution 함수를 완성해주세요.

 

풀이

import java.util.Arrays;
import java.util.Collections;
class Solution {
    public int[] solution(int[] emergency) {
        int[] answer = new int[emergency.length];
        answer = Arrays.copyOf(emergency,emergency.length);
        Arrays.sort(answer);
        for(int i=0;i<emergency.length;i++){
            for(int j=0;j<answer.length;j++){
                if(emergency[i] == answer[j]){
                    emergency[i] = answer.length-j;
                    break;
                }
            }
        }
        return emergency;
    }
}

 

<문자열 반복해서 출력하기>

문제 설명
문자열 str과 정수 n이 주어집니다.
str이 n번 반복된 문자열을 만들어 출력하는 코드를 작성해 보세요.

풀이

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.next();
        int n = sc.nextInt();
        for(int i=1;i<=n;i++){
            Syste m.out.print(str); 
        }
    }
}

 

다른 사람 풀이

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.next();
        int n = sc.nextInt();
        System.out.println(str.repeat(n));
    }
}

 

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

문제 설명
문자열 my_string이 매개변수로 주어집니다. my_string은 소문자, 대문자, 자연수로만 구성되어있습니다. my_string안의 자연수들의 합을 return하도록 solution 함수를 완성해주세요.

 

풀이

class Solution {
    public int solution(String my_string) {
        int answer = 0;
        String str = "";
        for(int i=0;i<my_string.length();i++){
            if('0'<= my_string.charAt(i) && my_string.charAt(i) <= '9'){
                str += my_string.charAt(i);
            } else str += 'a';
        }
        String[] arr = str.split("a");
        for(String s:arr){
            if(!s.equals("")){
                answer += Integer.parseInt(s);
            }
        }
        return answer;
    }
}

 

다른 사람 풀이

class Solution {
    public int solution(String my_string) {
        int answer = 0;

        String[] str = my_string.replaceAll("[a-zA-Z]", " ").split(" ");

        for(String s : str){
            if(!s.equals("")) answer += Integer.valueOf(s);
        }

        return answer;
    }
}