본문 바로가기

Algorithm/Programers - Java

(160)
[프로그래머스(Java)] 배열의 원소 삭제하기 / anyMatch() Level. 0 문제 정수 배열 arr과 delete_list가 있습니다. arr의 원소 중 delete_list의 원소를 모두 삭제하고 남은 원소들은 기존의 arr에 있던 순서를 유지한 배열을 return 하는 solution 함수를 작성해 주세요. * 제한사항 - 1 ≤ arr의 길이 ≤ 100 - 1 ≤ arr의 원소 ≤ 1,000 - arr의 원소는 모두 서로 다릅니다. - 1 ≤ delete_list의 길이 ≤ 100 - 1 ≤ delete_list의 원소 ≤ 1,000 - delete_list의 원소는 모두 서로 다릅니다. 풀이 1. import java.util.List; import java.util.ArrayList; class Solution { public int[] solution(..
[프로그래머스(Java)] 홀수 vs 짝수 / iterate() Level. 0 문제 정수 리스트 num_list가 주어집니다. 가장 첫 번째 원소를 1번 원소라고 할 때, 홀수 번째 원소들의 합과 짝수 번째 원소들의 합 중 큰 값을 return 하도록 solution 함수를 완성해주세요. 두 값이 같을 경우 그 값을 return합니다. * 제한사항 - 5 ≤ num_list의 길이 ≤ 50 - -9 ≤ num_list의 원소 ≤ 9 풀이1 class Solution { public int solution(int[] num_list) { int num1=0, num2=0; for(int i=0; i i i+2).map(i->num_list[i]).sum(), IntStream.iterate(1, i-> i i+2).map(i->num_list[i]).sum()); }..
[프로그래머스(Java)] 가까운 1 찾기 / findFirst(), orElse() Level. 0 문제 정수 배열 arr가 주어집니다. 이때 arr의 원소는 1 또는 0입니다. 정수 idx가 주어졌을 때, idx보다 크면서 배열의 값이 1인 가장 작은 인덱스를 찾아서 반환하는 solution 함수를 완성해 주세요. 단, 만약 그러한 인덱스가 없다면 -1을 반환합니다. * 제한사항 - 3 ≤ arr의 길이 ≤ 100,000 - arr의 원소는 전부 1 또는 0입니다. 풀이1 class Solution { public int solution(int[] arr, int idx) { int answer = -1; for(int i=idx; iarr[i]==1).findFirst().orElse(-1); } } findFirst() 와 findAny() filter조건에 일치하는 요소 1개를..
[프로그래머스(Java)] 인덱스 바꾸기 / toCharArray(), String.valueOf() Level. 0 문제 문자열 my_string과 정수 num1, num2가 매개변수로 주어질 때, my_string에서 인덱스 num1과 인덱스 num2에 해당하는 문자를 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요. * 제한사항 - 1 < my_string의 길이 < 100 - 0 ≤ num1, num2 < my_string의 길이 - my_string은 소문자로 이루어져 있습니다.num1 ≠ num2 풀이 class Solution { public String solution(String my_string, int num1, int num2) { char[] str = my_string.toCharArray(); str[num1] = my_string.charAt(num2);..
[프로그래머스(Java)] 문자열 정렬하기 (1) / replaceAll() Level. 0 문제 문자열 my_string이 매개변수로 주어질 때, my_string 안에 있는 숫자만 골라 오름차순 정렬한 리스트를 return 하도록 solution 함수를 작성해보세요. * 제한사항 - 1 ≤ my_string의 길이 ≤ 100 - my_string에는 숫자가 한 개 이상 포함되어 있습니다. - my_string은 영어 소문자 또는 0부터 9까지의 숫자로 이루어져 있습니다. - - - 풀이1 import java.util.List; import java.util.Arrays; import java.util.ArrayList; class Solution { public int[] solution(String my_string) { List list = new ArrayList();..
[프로그래머스(Java)] 배열의 원소만큼 추가하기 / flatMap. Collections.nCopies() Level. 0 문제 아무 원소도 들어있지 않은 빈 배열 X가 있습니다. 양의 정수 배열 arr가 매개변수로 주어질 때, arr의 앞에서부터 차례대로 원소를 보면서 원소가 a라면 X의 맨 뒤에 a를 a번 추가하는 일을 반복한 뒤의 배열 X를 return 하는 solution 함수를 작성해 주세요. * 제한사항 - 1 ≤ arr의 길이 ≤ 100 - 1 ≤ arr의 원소 ≤ 100 풀이 import java.util.List; import java.util.ArrayList; import java.util.stream.*; class Solution { public int[] solution(int[] arr) { List list = new ArrayList(); for(int num : arr){ fo..
[프로그래머스(Java)] 공백으로 구분하기 2 / 정규식 Level. 0 문제 단어가 공백 한 개 이상으로 구분되어 있는 문자열 my_string이 매개변수로 주어질 때, my_string에 나온 단어를 앞에서부터 순서대로 담은 문자열 배열을 return 하는 solution 함수를 작성해 주세요. * 제한사항 - my_string은 영소문자와 공백으로만 이루어져 있습니다. - 1 ≤ my_string의 길이 ≤ 1,000 - my_string의 맨 앞과 맨 뒤에도 공백이 있을 수 있습니다. - my_string에는 단어가 하나 이상 존재합니다. 풀이 class Solution { public String[] solution(String my_string) { String[] answer = my_string.trim().split(" +"); // + : 패..
[프로그래머스(Java)] x 사이의 개수 / split() Level. 0 문제 문자열 myString이 주어집니다. myString을 문자 "x"를 기준으로 나눴을 때 나눠진 문자열 각각의 길이를 순서대로 저장한 배열을 return 하는 solution 함수를 완성해 주세요. * 제한사항 - 1 ≤ myString의 길이 ≤ 100,000 - myString은 알파벳 소문자로 이루어진 문자열입니다. 풀이 import java.util.ArrayList; import java.util.List; class Solution { public int[] solution(String myString) { String[] str = myString.split("x", -1); int[] answer = new int[str.length]; for(int i=0; i 0 ..