백엔드 썸네일형 리스트형 프로그래머스 - 자바(JAVA) - 수 조작하기 2(Java) 문제 설명 정수 배열 numLog가 주어집니다. 처음에 numLog[0]에서 부터 시작해 "w", "a", "s", "d"로 이루어진 문자열을 입력으로 받아 순서대로 다음과 같은 조작을 했다고 합시다. "w" : 수에 1을 더한다. "s" : 수에 1을 뺀다. "d" : 수에 10을 더한다. "a" : 수에 10을 뺀다. 그리고 매번 조작을 할 때마다 결괏값을 기록한 정수 배열이 numLog입니다. 즉, numLog[i]는 numLog[0]로부터 총 i번의 조작을 가한 결과가 저장되어 있습니다. 주어진 정수 배열 numLog에 대해 조작을 위해 입력받은 문자열을 return 하는 solution 함수를 완성해 주세요. 제한사항 2 ≤ numLog의 길이 ≤ 100,000 -100,000 ≤ numLog[.. 더보기 프로그래머스 - 자바(JAVA) - 수 조작하기 1(Java) 문제 설명 정수 n과 문자열 control이 주어집니다. control은 "w", "a", "s", "d"의 4개의 문자로 이루어져 있으며, control의 앞에서부터 순서대로 문자에 따라 n의 값을 바꿉니다. "w" : n이 1 커집니다. "s" : n이 1 작아집니다. "d" : n이 10 커집니다. "a" : n이 10 작아집니다. 위 규칙에 따라 n을 바꿨을 때 가장 마지막에 나오는 n의 값을 return 하는 solution 함수를 완성해 주세요. 제한사항 -100,000 ≤ n ≤ 100,000 1 ≤ control의 길이 ≤ 100,000 control은 알파벳 소문자 "w", "a", "s", "d"로 이루어진 문자열입니다. class Solution { public int solution.. 더보기 프로그래머스 - 자바(JAVA) - 마지막 두 원소(Java) 문제 설명 정수 리스트 num_list가 주어질 때, 마지막 원소가 그전 원소보다 크면 마지막 원소에서 그전 원소를 뺀 값을 마지막 원소가 그전 원소보다 크지 않다면 마지막 원소를 두 배한 값을 추가하여 return하도록 solution 함수를 완성해주세요. 제한사항 2 ≤ num_list의 길이 ≤ 10 1 ≤ num_list의 원소 ≤ 9 class Solution { public int[] solution(int[] num_list) { int[] answer = new int[num_list.length + 1]; int last = 0; if (num_list[num_list.length - 1] > num_list[num_list.length - 2]) { last = num_list[num_.. 더보기 java16.stream.aggregate /* 집계(count(),sum(),average(),max(), min()...) 집계(aggregate)는 최종처리기능으로 요소들을 처리해서 갯수, 합계, 평균, 최대/최소값 등과 같이 하나의 값으로 집계하는 기능을 말한다. 집계는 대용량의 데이터를 가공해서 축소하는 reduction이라고 볼 수 있다. 스트림이 제고하는 기본집계 메서드는 1. count() : 요소의 갯수를 long타입으로 리턴 2. findFirst() : 첫번째 요소를 OptionalXXX타입으로 리턴 3. max(Comparator) : 요소중 최대요소를 OptionalXXX타입으로 리턴 4. min(Comparator) : 요소중 최소요소를 OptionalXXX타입으로 리턴 5. average() : 요소들의 평균값을 Opt.. 더보기 java16.stream.pipeline /* 스트림 파이프라인? 대량의 데이터를 가공해서 축소하는 것을 일반적으로 리덕션(Reduction)이라고 하는데, 데이터의 합계, 평균, 카운팅, 최대/최소값 등이 대표적인 reduction의 결과이다. 그러나 컬렉션의 요소를 리덕션의 결과물로 바로 집계할 수 없을 경우에는 집계하기 편리하도록 필터링, 매핑, 그룹핑등의 중간처리를 할 것이 필요하다. 1. 중간처리와 최종처리 스트림은 데이터의 필터링, 매핑, 정렬, 그룹핑등의 중간처리와 합계, 평균 등의 최종처리를 파이프 라인(Pipe Line)으로 해결한다. 파이프라인은 여러개의 스트림이 연결되어 있는 구조를 말한다. 중간스트림이 생성될 때 요소들이 바로 중간처리 되는 것이 아니라 최종처리가 시작되기 전까지는 중간처리가 지연(lazy)된다. 최종처리가.. 더보기 java16.stream.intro /* Stream(스트림) 스트림은 java8부터 추가된 컬렉션, 배열에 저장된 요소(값 or 객체)를 하나씩 꺼내와서 람다식(Functional Interface) 으로 처리할 수 있도록 해주는 반복자이다. Java7까지는 List컬렉션에서 요소를 순차적으로 처리하기 때문에 iterator 를 사용해 왔지만 컬렉션의 Stream()메서드로 Stream객체를 얻은 후에 람다식으로 컬렉션의 요소를 하나씩 처리할 수 있게 되었다. Iterator와 Stream을 비교해보면 Stream을 사용하는 것이 훨씬 단순하게 사용할 수 있다. Stream은 Iterator와 비슷한 역할을 하는 반복자이지만 1. 람다식으로 처리할 수 있다. 2. 내부반복자를 사용함으로써 병렬처리가 쉽다. 3. 중간처리, 최종처리작업을 .. 더보기 이전 1 다음