본문 바로가기

codingtest161

[Programmers] Lv.0 / 문자열을 정수로 변환하기 / Java 문제 풀이 class Solution { public int solution(String n_str) { return Integer.parseInt(n_str); } } 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181848 2024. 3. 2.
[Programmers] Lv.0 / 문자열 정수의 합 / Java 문제 풀이 import java.util.regex.Matcher; import java.util.regex.Pattern; class Solution { public int solution(String num_str) { int sum = 0; Pattern pattern = Pattern.compile("\\d"); Matcher matcher = pattern.matcher(num_str); while (matcher.find()) { sum += Integer.parseInt(matcher.group()); } return sum; } } class Solution { public int solution(String num_str) { return num_str .chars() .map(c -> .. 2024. 3. 1.
[Programmers] Lv.0 / 정수 부분 / Java 문제 풀이 class Solution { public int solution(double flo) { return (int) flo; } } 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181850 2024. 2. 29.
[Programmers] Lv.0 / 전국 대회 선발 고사 / Java 문제 풀이 import java.util.Arrays; class Solution { public int solution(int[] rank, boolean[] attendance) { int answer = 0; int[] sort = new int[rank.length]; for(int i = 0; i < rank.length; i++) { if(attendance[i]) { sort[i] = rank[i]; } else { rank[i] = Integer.MAX_VALUE; } } Arrays.sort(rank); for(int i = 0; i < sort.length; i++) { if(rank[0] == sort[i]) { answer += i * 10000; } else if(rank[1] =.. 2024. 2. 28.
[Programmers] Lv.0 / 뒤에서 5등 위로 / Java 문제 풀이 import java.util.*; class Solution { public int[] solution(int[] num_list) { return Arrays.stream(num_list) .boxed() // Convert IntStream to Stream .sorted(Comparator.reverseOrder()) .limit(num_list.length - 5) .sorted() .mapToInt(Integer::intValue) .toArray(); } } import java.util.Arrays; class Solution { public int[] solution(int[] numList) { return Arrays.stream(numList) .sorted() .skip.. 2024. 2. 28.
[Programmers] Lv.0 / 뒤에서 5등까지 / Java 문제 풀이 import java.util.Arrays; class Solution { public int[] solution(int[] num_list) { return Arrays.stream(num_list) .sorted() .limit(5) .toArray(); } } 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181853 2024. 2. 27.
[Programmers] Lv.0 / 배열의 길이에 따라 다른 연산하기 / Java 문제 풀이 import java.util.stream.IntStream; class Solution { public int[] solution(int[] arr, int n) { return IntStream.range(0, arr.length) .map(i -> { if ((arr.length % 2 == 0 && i % 2 != 0) || (arr.length % 2 != 0 && i % 2 == 0)) { return arr[i] + n; } else { return arr[i]; } }).toArray(); } } class Solution { public int[] solution(int[] arr, int n) { for(int idx = arr.length % 2 == 0 ? 1 : 0; i.. 2024. 2. 27.
[Programmers] Lv.0 / 문자열 묶기 / Java 문제 풀이 import java.util.*; class Solution { public int solution(String[] strArr) { Map countMap = new HashMap(); for (String str : strArr) { int length = str.length(); countMap.put(length, countMap.getOrDefault(length, 0) + 1); } int maxCount = 0; for (int count : countMap.values()) { maxCount = Math.max(maxCount, count); } return maxCount; } } import java.util.*; import java.util.stream.Collecto.. 2024. 2. 27.
[Programmers] Lv.0 / 배열 비교하기 / Java 문제 풀이 import java.util.*; class Solution { public int solution(int[] arr1, int[] arr2) { if (arr1.length != arr2.length) { return Integer.compare(arr1.length, arr2.length); } else { int arr1Sum = sumArray(arr1); int arr2Sum = sumArray(arr2); return Integer.compare(arr1Sum, arr2Sum); } } private int sumArray(int[] arr) { return Arrays.stream(arr).sum(); } } import java.util.stream.IntStream; clas.. 2024. 2. 15.
[Programmers] Lv.0 / 배열의 길이를 2의 거듭제곱으로 만들기 / Java 문제 풀이 import java.util.*; class Solution { public int[] solution(int[] arr) { return setArray(arr); } private int[] setArray(int[] arr) { int length = arr.length; while(!isPowerOfTwo(length)) { length++; } int[] result = Arrays.copyOf(arr, length); return result; } private boolean isPowerOfTwo(int n) { /** * 2의 거듭제곱 : 100..0 형태 * 2의 거듭제곱과 2의 거듭제곱 - 1 의 이진수를 AND 연산 시 * 100..0 과 011..1 의 AND 연산이 이.. 2024. 2. 14.
[Programmers] Lv.0 / 무작위로 K개의 수 뽑기 / Java 문제 풀이 import java.util.*; import java.util.stream.*; class Solution { public int[] solution(int[] arr, int k) { List result = new ArrayList(); IntStream.of(arr) .filter(num -> !result.contains(num)) .limit(k) .forEach(result::add); while(result.size() < k) { result.add(-1); } return result.stream().mapToInt(Integer::intValue).toArray(); } } import java.util.Arrays; import java.util.stream.IntStr.. 2024. 2. 7.
[Programmers] Lv.0 / 배열 만들기 6 / Java 문제 풀이 날것 버전 import java.util.*; class Solution { public int[] solution(int[] arr) { List result = new ArrayList(); for(int i = 0; i < arr.length; i++) { if(result.isEmpty() || i == 0 || arr[i] != result.get(result.size() - 1)) { result.add(arr[i]); } else if(arr[i] == result.get(result.size() - 1)) { result.remove(result.size() - 1); } } return result.isEmpty() ? new int[] {-1} : result.stream().. 2024. 2. 6.