기본 집계 메소드 - 최종 처리 기능 - 요소들을 처리해서 카운팅, 합계, 평균값, 최대값, 최소값 등 하나의 값으로 산출 - 대량의 데이터를 가공해서 축소하는 리덕션. 기본 집계 메소드 예제 package Stream.middleprocess.zipgue; import java.util.Arrays; public class AggregateExample { public static void main(String[] args) { //배열선언 int[] temp = new int[] { 1,2,3,4,5 }; //카운트 long count = Arrays.stream(temp).filter(n -> n%2 ==0) .count(); System.out.println("2의 배수 개수 : "+count);..
타겟 넘버 문제 설명 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성해주세요. 제한사항 주어지는 숫자의 개수는 2개 이상 20개 이하입니다. 각 숫자는 1 이상 50 이하인 자연수입니다. 타겟 넘버는 1 이상 1000 이하인 자연..
최댓값과 최솟값 문제 설명 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 (최소값) (최대값)형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를들어 s가 1 2 3 4라면 1 4를 리턴하고, -1 -2 -3 -4라면 -4 -1을 리턴하면 됩니다. 제한 조건 s에는 둘 이상의 정수가 공백으로 구분되어 있습니다. 입출력 예 s return "1 2 3 4" "1 4" "1 -2 -3 -4" "-4 -1" "-1 -1" "-1 -1" 나의 풀이 class Solution { public String solution(String s) { String answer = ""; String[] temp = s.split(" "); O..
x만큼 간격이 있는 n개의 숫자 문제 설명 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. 제한 조건 x는 -10000000 이상, 10000000 이하인 정수입니다. n은 1000 이하인 자연수입니다. 입출력 예 x n answer 2 5 [2,4,6,8,10] 4 3 [4,8,12] -4 2 [-4, -8] 나의 풀이 class Solution { public long[] solution(long x, int n) { long[] answer = new long[n]; for(int i =0; i
정렬 - 중간 단계에서 요소를 정렬해서 최종 처리 순서를 변경할 수 있음. - 객체요소일 경우 클래스가 Comparable을 구현하지 않으면 ClassCastException 발생 Comparable 인터페이스를 구현한 Student 클래스 public class Student implements Comparable{ String name; int score; public Student(String name, int score) { super(); this.name = name; this.score = score; } public String getName() { return name; } public void setName(String name) { this.name = name; } public in..
제일 작은 수 제거하기 문제 설명 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다. 제한 조건 arr은 길이 1 이상인 배열입니다. 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다. 입출력 예 arr return [4,3,2,1] [4,3,2] [10] [-1] 나의 풀이 import java.util.*; class Solution { public int[] solution(int[] arr) { int[] answer = {}; int..
개발환경 : window10 사용언어 : html, css, javascript 필요에 의해서 간단히 웹으로 간단한 지뢰찾기 게임을 구현해보았습니다. 기존 클래식 지뢰찾기는 마우스 좌우를 동시에 클릭하면 해당 주변의 셀이 지뢰인지 아닌지에따라 셀이 클릭되는 효과가 있었는데 그부분을 제외하고는 클래식 지뢰찾기와 거의 같이 구현하려고 노력했습니다. 어려운점은 2가지가 있었습니다. 1. 클릭했을때 주변의 셀에 지뢰가 몇개가 있는지 표시하는 로직 2. 현재 클릭한 셀이 주변 지뢰개수가 0이고 주변에 지뢰개수가 0인 셀이 연속적으로 눌러져서 주변에 지뢰가 있는 셀까지 퍼져가는 클릭효과 구현하기. 첫번째는 script태그 맨 위부분에 randomArr라는 지뢰들의 셀 id값을 저장하고 있는 배열입니다. 이 배열안에..
필터링 - 중간처리 기능으로 요소를 걸러내는 역할 - distinct() : 중복을 제거하는 메소드 - filter() : 매개값으로 주어진 Pridicate 객체가 true를 반환하는 요소만 필터. public static void main(String[] args) { List names = Arrays.asList("가나다","라마바","가나다","차카타","파하"); //이름 중복 제외. names.stream() .distinct() .forEach(System.out::println); System.out.println(); //"가"로 시작하는 이름만 필터 names.stream() .filter(n->n.startsWith("가")) .forEach(System.out::println); ..