프로그래머스
-
프로그래머스 : 홀수 vs 짝수코딩테스트 문제 풀이/프로그래머스 2023. 12. 4. 00:01
스트림 어렵다 ;-; 내 코드 import java.util.Arrays; import java.util.stream.IntStream; class Solution { public int solution(int[] num_list) { return Math.max( IntStream .range(0, num_list.length) .filter(i -> i % 2 == 0) .map(i -> num_list[i]) .sum() , IntStream .range(0, num_list.length) .filter(i -> i % 2 != 0) .map(i -> num_list[i]) .sum() ); } } 스트림을 한개만 열어서 작성해보고 싶었는데, 도저히 방법이 떠오르지 않았다. 다른사람 코드 구경! 다..
-
프로그래머스 : 공백으로 구분하기 2코딩테스트 문제 풀이/프로그래머스 2023. 12. 4. 00:01
이번 문제는 생각보다 어려웠다. 공백 문자가 연속으로 여러개 나오는 경우도 있었기 때문에 어렵게 느껴졌던 것 같다. 내 코드 얻어걸림.. import java.util.Arrays; import java.util.stream.*; class Solution { public String[] solution(String my_string) { return Arrays .stream(my_string.split(" ")) .filter(s -> !"".equals(s)) .collect(Collectors.toList()) .toArray(new String[0]); } } 우와 스트림으로 풀이한 다른사람의 풀이가 있는지 구경하러 들어갔다가 정규식을 이용해 깔끔하게 풀이한 사람의 코드를 발견하였다. 정규식 이..
-
배열의 원소만큼 추가하기코딩테스트 문제 풀이/프로그래머스 2023. 12. 1. 00:01
그냥 풀면 쉬운 문제인데 Stream을 사용하려고 하니까 너무 어려운 문제였다. Chat 코드 🙈 import java.util.Arrays; import java.util.stream.IntStream; class Solution { public int[] solution(int[] arr) { return Arrays .stream(arr) .boxed() .flatMapToInt(i -> IntStream.range(0, i).map(n -> i)) .toArray(); } } int 배열을 boxed()를 사용해서 wrapper 객체 배열로 변환 한 뒤, flatMapToInt() 메서드를 사용하여 값을 만들고 toArray() 메서드를 사용하여 int배열로 반환하는 코드를 만들어냈다. flatM..
-
뒤에서 5등까지코딩테스트 문제 풀이/프로그래머스 2023. 12. 1. 00:01
내 코드 import java.util.Arrays; class Solution { public int[] solution(int[] num_list) { return Arrays .stream(num_list) .sorted() .limit(5) .toArray(); } } 와우 스트림으로 처음 풀어봄! 🙈 뭔가 디비 쿼리짜는 기분이다 🙊 그런데 소요 시간이 많이 길어진 느낌이 들어서 확인해보았다. 👇이건 스트림으로 작성한 결과 이건 스트림 사용하지 않고 Arrays만 사용 import java.util.Arrays; class Solution { public int[] solution(int[] num_list) { Arrays.sort(num_list); return Arrays.copyOf(num..
-
꼬리 문자열코딩테스트 문제 풀이/프로그래머스 2023. 12. 1. 00:01
내 코드 import java.util.Arrays; import java.util.stream.Collectors; class Solution { public String solution(String[] str_list, String ex) { return Arrays .stream(str_list) .filter(s -> !s.contains(ex)) .collect(Collectors.joining()); } } 오 세상에 또 풀렸다 진짜 기분 좋음 🤓✏️ 새로 알게 된 메서드 collect(Collectors.joining()) 스트림의 모든 요소를 하나의 문자열로 합쳐주는 기능을 한다. 이 메서드는 3가지 형태로 사용할 수 있다. 1. 기본형태 collect(Collectors.joining()..
-
프로그래머스: 마지막 두 원소코딩테스트 문제 풀이/프로그래머스 2023. 11. 27. 00:01
내 코드 class Solution { public int[] solution(int[] num_list) { int idxLast = num_list.length; int[] answer = new int[idxLast + 1]; System.arraycopy(num_list, 0, answer, 0, idxLast); answer[idxLast] = answer[idxLast - 1] > answer[idxLast - 2] ? answer[idxLast - 1] - answer[idxLast - 2] : answer[idxLast - 1] * 2; return answer; } }
-
프로그래머스: 코드 처리하기코딩테스트 문제 풀이/프로그래머스 2023. 11. 27. 00:01
내 코드 class Solution { public String solution(String code) { String answer = ""; int mode = 0; for (int i = 0; i < code.length(); i++) { if (code.charAt(i) == '1') mode = 1 - mode; else if (i % 2 == mode) answer += code.charAt(i); } return "".equals(answer) ? "EMPTY" : answer; } } 조건 1. code의 i번 인덱스 자리가 1이면 mode 스위칭 ( 0 또는 1 ) 조건 2. mode = 0 일 때 , i가 짝수면 = mode == 0 && i % 2 == 0 = i % 2 == mode ..
-
프로그래머스 : 가격대 별 상품 개수 구하기DB/MySQL 2023. 11. 26. 00:01
내 코드 SELECT (PRICE div 10000) * 10000 as PRICE_GROUP , COUNT(*) as PRODUCTS FROM PRODUCT GROUP BY PRICE_GROUP ORDER BY PRICE_GROUP 정수 값을 정수로 나누는 방법 div 함수 사용 select 10 div 3 -- 결과 : 3 floor(숫자) 함수 사용 ( 나머지 버림 ) select FLOOR(10/3) -- 결과 : 3 round(숫자, 자릿수) 함수 사용 ( 반올림 ) select ROUND(10/3); -- 결과 : 3 select ROUND(10/3, 1); -- 결과 : 3.3 truncate(숫자, 자릿수) 함수 사용 ( 나머지 버림 ) select TRUNCATE(10/3, 0); -- ..