Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 쿼리
- Eclipse
- Spring
- JPA
- 생성
- 스프링
- oracle
- mybatis
- aws
- 넥사크로
- 프로그래머스
- 알고리즘
- jquery
- Vue
- JavaScript
- error
- IntelliJ
- 함수
- 에러
- db
- kotlin
- GitHub
- 방법
- Security
- 자바
- 시큐리티
- 코틀린
- 오라클
- Java
- Git
Archives
- Today
- Total
송민준의 개발노트
프로그래머스 두 개 뽑아서 더하기 본문
programmers.co.kr/learn/courses/30/lessons/68644
두개 뽑아서 더한 결과를 반환하는데 중복이 없어야 하며 오름차순으로 정렬이 되어 있어야함.
이중 for문으로 탐색을 함. TreeSet을 써서 정렬과 중복제거의 효과를 가짐
import java.util.Set;
import java.util.TreeSet;
public class PickTwoAndAdd {
public static int[] solution(int[] numbers) {
Set<Integer> answerSet = new TreeSet<>();
for(int i = 0; i < numbers.length-1; i++) {
for(int j = i+1; j < numbers.length; j++) {
answerSet.add(numbers[i]+numbers[j]);
}
}
return answerSet.stream().mapToInt(i -> i).toArray();
}
}
가독성은 좋으나 속도가 느리다는 단점이 있음.
HashSet을 써서 속도를 좀 더 높일 수는 있으나 stream을 쓴다는 거 자체가 비용이 높음.
'알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스 큰 수 만들기 (0) | 2021.02.04 |
---|---|
프로그래머스 다리를 지나는 트럭 (0) | 2021.02.03 |
프로그래머스 - 스킬트리 (0) | 2021.01.29 |
프로그래머스 - 크레인 인형뽑기 게임(카카오) (0) | 2021.01.27 |
프로그래머스-level2-영어 끝말잇기 (0) | 2019.12.09 |