728x90
반응형
728x90
반응형
# 문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면[6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. [제한사항] numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. [입출력 예] ## 문제 정리 해당 문제는 정수..
병렬 스트림 Java 7 이전에는 데이터 컬렉션을 병렬로 처리하기 어려웠다. 데이터를 서브 파트로 분할 분할된 서브 파트를 각각의 스레드로 할당 스레드로 할당 후 의도치 않은 레이스 컨디션이 발행하지 않도록 동기화 추가 부분 결과를 다시 결합 하지만, Java 7은 더 쉽게 병렬화를 수행하면서 에러를 최소화할 수 있도록 포크/조인 프레임워크 기능을 제공한다. 컬렉션에 parallelStream을 호출하면 병렬 스트림이 생성된다. 병렬 스트림이란 각각의 스레드에서 처리할 수 있도록 스트림 요소를 여러 청크로 분할한 스트림이다. 따라서 병렬 스트림을 이용하면 모든 멀티코어 프로세서가 각각의 청크를 처리하도록 할당할 수 있다. 성능 측정 자바 마이크로벤치마크 하니스(Java Microbenchmark Harn..
스트림 Java 8 API에 추가된 기능으로 스트림을 이용하면 선언형으로 컬렉션 데이터를 처리할 수 있다. 스트림이란 데이터 처리 연산을 지원하도록 소스에서 추출된 연속된 요소이다. 또한, 스트림을 이용하면 멀티스레드 코드를 구현하지 않아도 데이터를 투명하게 병렬로 처리할 수 있다. 선언형으로 간결하고 가독성이 좋다. 조립할 수 있어 유연성이 좋다. 병렬화로 성능이 좋다. 반복자와 마찬가지로 스트림도 한 번만 탐색할 수 있다. 즉, 탐색된 스트림 요소는 소비된다. 스트림 연산끼리 파이프라이닝을 구성할 수 있다. 그 덕에 게으름, 쇼트서킷 같은 최적화도 얻을 수 있다. List title = newArrayList("Java8", "In", "Action"); Stream streamTitles = tit..