반응형
🔺 문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
🔺 코드
import java.util.*;
class Solution {
public int[] solution(int[] numbers) {
int len = numbers.length;
Set<Integer> set = new HashSet<>();
for(int i=0 ; i < len ; i++) {
for(int j=i+1; j < len ; j++) {
set.add(numbers[i] + numbers[j]);
}
}
return set.stream().sorted().mapToInt(i->i).toArray();
}
}
HashSet을 이용하였다.
HashSet은 중복을 허용하지 않는다.
✔ .sorted()
: 스트림 정렬
🔺 다른 풀이들
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
import java.util.*;
class Solution {
public int[] solution(int[] numbers) {
int[] answer;
List<Integer> list = new ArrayList<Integer>();
for(int i = 0 ; i < numbers.length; i++){
for(int j = i+1 ; j < numbers.length; j++){
int tmp = numbers[i] + numbers[j];
if(!list.contains(tmp)){
list.add(tmp);
}
}
}
int size = 0;
answer = new int[list.size()];
for(int num : list){
answer[size++] = num;
}
Arrays.sort(answer);
return answer;
}
}
ArrayList를 사용하셨다.
리스트 안에 값을 갖고 있지 않을 때, 리스트에 값을 넣는 것으로...
(참고)
두 개 뽑아서 더하기 - 프로그래머스 (java)
두 개 뽑아서 더하기 - 문제링크- [문제설명] > 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 re
velog.io
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
반응형
'코테 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/Lv. 1] 3진법 뒤집기 (0) | 2023.03.07 |
---|---|
[프로그래머스/Lv. 1] 모의고사 (0) | 2023.03.06 |
[프로그래머스/Lv. 1] 문자열 내 마음대로 정렬하기 (0) | 2023.03.06 |
[프로그래머스/Lv. 1] 숫자 문자열과 영단어 (0) | 2023.03.06 |
[프로그래머스/Level1] 이상한 문자 만들기 (0) | 2023.03.04 |