프로그래머스 코딩테스트(진료순서 정하기, 문자열 반복해서 출력하기, 숨어있는 숫자의 덧셈 (2))
<진료순서 정하기>
문제 설명
외과의사 머쓱이는 응급실에 온 환자의 응급도를 기준으로 진료 순서를 정하려고 합니다. 정수 배열 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;
}
}