728x90
반응형
문제 설명
정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.
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
|
import java.util.*;
class Solution {
public int[] solution(int[] numbers) {
ArrayList<Integer> list = new ArrayList<Integer>();
for ( int i = 0; i < numbers.length ; i++ ){
for(int j = i + 1 ; j < numbers.length ; j++ ){
int n = numbers[i] + numbers[j];
if ( list.indexOf(n) < 0){
list.add(n);
}
}
}
int[] answer = new int[ list.size() ];
for(int i = 0 ; i < list.size() ; i++ ){
answer[i] = list.get(i);
}
Arrays.sort(answer);
return answer;
}
}
|
cs |
코드에 쓰인 메소드
- .indexOf( ) : 특정 문자나 문자열이 앞에서부터 처음 발견되는 인덱스 반환, 찾지 못 했을 경우 "-1" 반환.
- List.get( ) : 인자로 인덱스를 받아 이 인덱스의 위치에 있는 객체 반환.
- Arrays.sort( ) : 배열을 넣으면 오름차순으로 정렬.
코드 설명 : ArrayList 객체인 list를 만들어 numbers 원소의 합을 넣되, indexOf의 값이 -1일 때만 넣도록 한다. ( 중복 제거 해야하기 때문) answer 배열을 list의 크기만큼 만든 후, list의 객체를 answer에 넣어서 답을 구함.
출처 : programmers.co.kr/
728x90
반응형
'코테 문제 풀이 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 옹알이 JAVA (0) | 2023.03.23 |
---|---|
프로그래머스 - K번째 수 JAVA (0) | 2021.04.01 |
프로그래머스 - 모의고사 JAVA (0) | 2021.03.31 |
프로그래머스 - 신규 아이디 추천 JAVA (0) | 2021.03.30 |
프로그래머스 - 완주하지 못한 선수 JAVA (0) | 2021.03.29 |