진료순서 정하기
package programmers.CodingBegginerTraining;
import java.util.*;
public class PROB {
public static void main(String[] args) {
int[] emergency = {3, 76, 24};
System.out.println(Arrays.toString(solution(emergency)));
}
public static int[] solution(int[] emergency) {
// 응급도가 높은 순서대로
List<Integer> emergencyList = new ArrayList<>();
for (int i = 0; i < emergency.length; i++) {
emergencyList.add(emergency[i]);
}
// 역순
Collections.sort(emergencyList);
Collections.reverse(emergencyList);
int[] answer = new int[emergency.length];
for (int i = 0; i < answer.length; i++) {
answer[i] = emergencyList.indexOf(emergency[i]) + 1;
}
return answer;
}
}
Java
복사
숨어있는 숫자의 덧셈 (2)
package programmers.CodingBegginerTraining;
public class PROB24 {
class Solution {
public int solution(String my_string) {
my_string = my_string.replaceAll("[^0-9]", " ");
String[] numbers = my_string.split(" ");
int answer = 0;
for (int i = 0; i < numbers.length; i++) {
if (!numbers[i].isEmpty()) {
answer += Integer.parseInt(numbers[i]);
}
}
return answer;
}
}
}
Java
복사
한 번만 등장한 문자
package programmers.CodingBegginerTraining;
import java.util.*;
import java.util.stream.Collectors;
public class PROB25 {
public static void main(String[] args) {
String s = "abcabcadc";
System.out.println(solution(s));
}
public static String solution(String s) {
StringBuilder sb = new StringBuilder();
String[] str = s.split("");
int cnt = 0;
Arrays.sort(str);
for (int i = 0; i < str.length; i++) {
cnt = 0;
for (int j = 0; j < str.length; j++) {
if (str[i].equals(str[j])) {
cnt++;
}
}
if (cnt == 1) {
sb.append(str[i]);
}
}
return sb.toString();
}
}
Java
복사
이진수 더하기
package programmers.CodingBegginerTraining;
public class PROB26 {
public static void main(String[] args) {
String bin1 = "10";
String bin2 = "11";
System.out.println(solution(bin1, bin2));
}
public static String solution(String bin1, String bin2) {
int binary1 = Integer.parseInt(bin1, 2);
int binary2 = Integer.parseInt(bin2, 2);
return Integer.toBinaryString(binary1 + binary2);
}
}
Java
복사
컨트롤 제트
package programmers.CodingBegginerTraining;
import java.util.Arrays;
public class PROB27 {
public static void main(String[] args) {
String s = "1 2 Z 3";
System.out.println(solution(s));
}
public static int solution(String s) {
String[] str = s.split(" ");
int answer = 0;
for (int i = 0; i < str.length; i++) {
if (str[i].equals("Z")) {
answer -= Integer.parseInt(str[i - 1]);
continue;
}
answer += Integer.parseInt(str[i]);
}
return answer;
}
}
Java
복사
소인수 분해
package programmers.CodingBegginerTraining;
import java.util.*;
public class PROB28 {
public int[] solution (int n) {
List<Integer> numbers = new ArrayList<>();
int i = 2;
while( n >= i) {
if (n % i == 0) {
n /= i;
if (!numbers.contains(i)) {
numbers.add(i);
}
} else {
i++;
}
}
return numbers.stream().mapToInt(v -> v).toArray();
}
}
Java
복사
7 의 개수
package programmers.CodingBegginerTraining;
public class PROB29 {
public static void main(String[] args) {
int[] array = {7, 77, 17};
System.out.println(solution(array));
}
public static int solution (int[] array) {
int cnt = 0;
for (int i = 0; i < array.length; i++) {
String[] numbers = String.valueOf(array[i]).split("");
for (int j = 0; j < numbers.length; j++) {
if (numbers[j].equals("7")) {
cnt ++;
}
}
}
return cnt;
}
}
Java
복사
공 던지기
function solution(numbers, k) {
return numbers[(k - 1) * 2 % numbers.length];
}
Java
복사