프로그래머스 7

프로그래머스 문자열 잘라서 정렬하기(JAVA)

문제 설명 정답 import java.util.*; class Solution { public String[] solution(String myString) { String[] answer = myString.split("x"); Arrays.sort(answer); answer = Arrays.stream(answer) .filter(s -> !s.isEmpty()) .toArray(String[]::new); return answer; } } -> 먼저 split 메서드로 x를 기준으로 나누어 준다. -> 그리고 Arrays.sort 메서드로 문자열을 오름차순으로 정렬한다. -> 이제 빈 문자열 처리를 해주기 위해서 answer 배열을 stream으로 변환 후 -> filter 메서드는 주어진 조건에..

프로그래머스 2023.12.06

프로그래머스 가장 가까운 같은 글자(JAVA)

문제 설명 정답 class Solution { public int[] solution(String s) { int[] answer = new int[s.length()]; // 문자열의 길이만큼 반복 for(int i=0; i substring 메서드로 현재 문자열의 직전 문자열까지 추출한다. -> 추출한 문자열 중에서 현재 문자열의 lastIndex를 추출한다. -> 추출한 문자열 중에서 현재 문자열이 존재하지 않다면 -1을 index 변수에 저장한다. -> 존재한다면, 마지막 인덱스 번호를 index변수에 저장한다. -> index번호를 이용해서 (현재 문자열의 인덱스번호 - index(이전 문자열중 현재 문자열의 마지막 위치)) 의 값을 answer 배열에 넣어준다. 배운것 lastIndexOf( ..

프로그래머스 2023.11.27

프로그래머스 2016년

다른사람의 풀이를 보고 매우 간단한 방법이어서 글을 남겨본다. LocalDate 클래스를 활용하여 아주아주 간단하게 문제를 해결했다. getDayOfWeek() 메서드는 해당 날짜의 요일을 반환한다. 문자열로 변환후에 substring으로 앞에 3글자만 가져오면 끝이 난다. LocalDate - LocalDate는 Java 8부터 제공되는 날짜를 나타내는 클래스 중 하나로, 시간 정보가 포함되지 않은 날짜를 다루기 위한 클래스이다. 이 클래스는 java.time 패키지에 속해 있다. - 현재 날짜 얻기 : LocalDate.now() - LocalDate는 날짜 간의 연산을 지원한다. 예를 들어, plusDays( ) 메서드를 사용하여 특정 일 수를 더하거나, minusMonths( )를 사용하여 특정 ..

프로그래머스 2023.11.23

프로그래머스 명예의 전당 (1)

먼저 명예의전당에 들어갈 점수 리스트를 만들고 k일차 까지는 모든 점수를 다 넣어준다. 그리고 리스트를 정렬해주고, 그러면 0번인덱스가 자동으로 가장 최하위 점수가 된다. 최하위점수 리스트 만든곳에 0번인덱스를 추가해준다. k일차가 지나고 나서 부터는 명예의전당 리스트 점수 중 최하위 점수를 제거하고 새로운 점수를 리스트에 추가한다. 그리고 다시 명예의 전당 리스트를 한번 더 정렬해주고 최하위 점수인 0번인덱스를 최하위점수 리스트에 추가한다. import java.util.*; class Solution { public int[] solution(int k, int[] score) { int[] answer = new int[score.length]; List num = new ArrayList(); /..

프로그래머스 2023.11.22

프로그래머스 무작위로 K개의 수 뽑기

먼저 이 문제에서는 중복된 수를 제거해야한다. int형 배열을 따로 하나 더 만들고 거기에 arr배열의 중복된 수가 제거된 원소들을 새로 만든 배열에 담아준다. 오늘 배운것인데 중복된 수를 제거해주는 아주 간단한 방법이 있다. kArr이라는 배열을 따로 만들다. 그리고 Arrays.stream(arr) 메서드를 이용해서 arr배열을 스트림으로 변환한다. distinct() 메서드는 arr배열의 원소들 중 중복된 수만 제거해서 스트림으로 반환한다. 따라서 Arrays.stream(arr).distinct() 메서드는 arr의 중복된 요소를 제거하는 스트림을 반환하고, 마지막으로 toArray() 메서드로 스트림의 요소를 배열로 반환 후 kArr배열에 담아준다. length 변수에 중복된 수가 제거된 배열의..

프로그래머스 2023.11.13

프로그래머스 JadenCase 만들기

우선 모든 문자를 소문자로 변환해주고 공백을 기준으로 잘라서 배열에 담아주었다. 그리고 boolean을 이용해서 공백이 오는 경우에만 boolean함수를 반대로 해주고 다음 오는 문자열을 대문자로 변환시켜주었다. for문을 돌고있는 현재 문자열이 공백이라면 flag = true, 즉 다음에 오는 문자열은 대문자로 변환해서 answer에 담아준다. 그리고 문자열이 들어오면 flag = false, 다음 문자열은 대문자가 아닌 일반 문자열을 answer에 넣어준다.

프로그래머스 2023.11.11