코테 문제 풀이/프로그래머스
프로그래머스 - 두 개 뽑아서 더하기 JAVA
waVwe
2021. 3. 24. 17:38
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/
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
728x90
반응형