코딩테스트 문제 풀이
-
백준: 재귀 의 귀재코딩테스트 문제 풀이/다시 풀어볼 문제 2023. 12. 5. 00:01
내 코드 import java.util.Scanner; public class Boj25501 { private static int cnt; public static void main(String[] args) { Boj25501 b = new Boj25501(); Scanner scan = new Scanner(System.in); int T = scan.nextInt(); while (T-- > 0) { String S = scan.next(); System.out.println(b.isPalindrome(S) + " " + cnt); } } private int recursion(char[] s, int l, int r) { cnt++; if (l >= r) return 1; if (s[l] != ..
-
프로그래머스 : 홀수 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. 29. 06:21
시간 제한이 0.15초였다 🥲 왜 이 문제를 골랐을까? 푸하핳 손을 댔으니 끝을 봐야겠지 😤 + 괜한 고집부려서 속이 다 뒤집어졌다.ㅋㅋ..ㅋ... ... . . 이건 뭘까.. 이런 경우도 있구만? 다음부턴 java8로 진행해야겠다 😔 다른 사람 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int w = scan.nextInt(); int h = scan.nextInt(); int p = scan.nextInt(); int q = scan.nextInt(); int t = scan.nextInt(); int x = (p ..
-
백준: 소금폭탄코딩테스트 문제 풀이/백준 2023. 11. 28. 00:01
내 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String now = scan.nextLine(); String target = scan.nextLine(); int[] aNow = makeIntArr(now); int[] aTarget = makeIntArr(target); String result = ""; for (int i = 2; i >= 0; i--) { int sleep = aTarget[i] - aNow[i]; if (sleep 0) { aTarget[i - 1]--; sleep..
-
백준: 문서 검색코딩테스트 문제 풀이/백준 2023. 11. 28. 00:01
내 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String a = scan.nextLine(); String b = scan.nextLine(); int cnt = 0; while (a.contains(b)) { cnt++; a = a.replaceFirst(b, " "); } System.out.println(cnt); } } String 클래스에서 제공하는 replaceFirst()를 활용해서 풀이! 다른 풀이방법으로는 반복문을 돌리면서 단어를 찾아 없애지 않고 (a의 길이 - a에서 b를 모두 없앤 길이) / b의..