본문 바로가기

codingtest167

[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.
[Programmers] Lv.0 / 빈 배열에 추가, 삭제하기 / Java 문제 풀이 import java.util.*; class Solution { public int[] solution(int[] arr, boolean[] flag) { List result = new ArrayList(); for(int i = 0; i < arr.length; i++) { if(flag[i]) { for(int j = 0; j < arr[i] * 2; j++) { result.add(arr[i]); } } else { int size = result.size(); int removeCount = Math.min(size, arr[i]); result.subList(size - removeCount, size).clear(); } } return result.stream() .mapToI.. 2024. 2. 5.
[Programmers] Lv.0 / 배열의 원소만큼 추가하기 / Java 문제 풀이 import java.util.Arrays; class Solution { public int[] solution(int[] arr) { int length = Arrays.stream(arr).sum(); int[] result = new int[length]; int index = 0; for(int num : arr) { for(int i = 0; i < num; i++) { result[index++] = num; } } return result; } } 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181861 2024. 2. 2.
[Programmers] Lv.0 / 세 개의 구분자 / Java 문제 풀이 import java.util.Arrays; class Solution { public String[] solution(String myStr) { // reg expression - delimiters: a, b, c String[] result = myStr.split("[abc]+"); result = Arrays.stream(result) .filter(s -> !s.isEmpty()) .toArray(String[]::new); return result.length > 0 ? result : new String[]{"EMPTY"}; } } 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181862 2024. 2. 1.
[Programmers] Lv.0 / rny_string / Java 문제 풀이 class Solution { public String solution(String rny_string) { return rny_string.replaceAll("m", "rn"); } } 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181863 2024. 2. 1.
[Programmers] Lv.0 / 문자열 바꿔서 찾기 / Java 문제 풀이 class Solution { public int solution(String myString, String pat) { return myString .replace("A", "X") .replaceAll("B", "A") .replaceAll("X", "B") .contains(pat) ? 1 : 0; } } 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181864 2024. 1. 31.
[Programmers] Lv.0 / 간단한 식 계산하기 / Java 문제 풀이 import java.util.*; import java.util.function.BinaryOperator; class Solution { private static final Map OPERATORS; static { OPERATORS = new HashMap(); OPERATORS.put('+', (a, b) -> a + b); OPERATORS.put('-', (a, b) -> a - b); OPERATORS.put('*', (a, b) -> a * b); } public int solution(String binomial) { String[] splitArr = binomial.split(" "); int a = Integer.parseInt(splitArr[0]); int b = I.. 2024. 1. 30.