Search
Duplicate

05.30 입문 문제풀이

태그
대분류
코딩테스트 입문
비고
진료순서 정하기
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
복사