반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- git squash
- git commit 협업
- 리액트구글애널리틱스
- file not found Error
- 가상면접3장
- 헤드퍼스트전략패턴
- awss3
- Git commit 합치기
- 시스템설계면접
- 시스템설계면접예시
- react-ga
- formik submitting not working
- 리팩터링2판테스트
- s3이미지다운로드됨
- formik react-query submitting not working
- cypressBDD
- cypress React
- react
- 가상면접2장
- FirebaseAnalytics
- 전략패턴
- 가상면접으로대규모시스템
- git commit merge
- 시스템설계방법
- 테스트코드책
- 디자인패턴
- gitsquash
- 시스템설계
- 리팩토링2판4장
- 시스템설계면접팁
Archives
- Today
- Total
mingg IT
[Java] 프로그래머스 두 개 뽑아서 더하기 본문
1. Set 을 만들어서 중복된 값을 저장하지 않도록 하고
2. List로 변환 후 오름차순 정렬
3. int [] 로 Return
import java.util.HashSet;
import java.util.Collections;
import java.util.ArrayList;
import java.util.List;
class Solution {
public int[] solution(int[] numbers) {
int[] answer = {};
HashSet<Integer> set = new HashSet<Integer>();
for(int i = 0; i< numbers.length; i++) {
for(int j = 0; j<numbers.length; j++) {
if(i!= j) {
set.add(numbers[i]+numbers[j]);
}
}
}
List<Integer> list = new ArrayList<>(set);
Collections.sort(list);
return list.stream().mapToInt(Integer::intValue).toArray();
// return list.toArray();
}
}
다른사람 풀이를 보니 더 좋은 방법이 Set을 바로 Sort하여 return한 경우를 봄
set.stream().sorted().mapToInt(Integer::intValue).toArray(); 이런식으로.
그리고 댓글보니까 TreeSet을 사용하면 add하면서 정렬도 같이 된다함.
맞는다에 초점을 맞추는 게 아니라 최대한 효율적으로 짤 수 있도록 해야할듯.
TreeSet을 보니 이진 검색 트리의 형태로 정렬, 검색에 뛰어난 성능을 보임.
import java.util.TreeSet;
import java.util.Collections;
import java.util.ArrayList;
import java.util.List;
class Solution {
public int[] solution(int[] numbers) {
int[] answer = {};
TreeSet<Integer> set = new TreeSet<Integer>();
for(int i = 0; i< numbers.length; i++) {
for(int j = 0; j<numbers.length; j++) {
if(i!= j) {
set.add(numbers[i]+numbers[j]);
}
}
}
return set.stream().mapToInt(Integer::intValue).toArray();
}
}
'코딩테스트' 카테고리의 다른 글
[JAVA] 프로그래머스 문자열 압축 (0) | 2021.04.17 |
---|---|
[JAVA] 프로그래머스 스킬 트리 (0) | 2021.04.17 |
[JAVA] 프로그래머스 주식 가격 (0) | 2021.04.13 |
[JAVA] 프로그래머스 프린터 (0) | 2021.04.13 |
[JAVA] 프로그래머스 1 2 4 나라의 숫자 (0) | 2021.04.06 |
Comments