728x90
언어_자바
프로그래머스_배열 만들기 2
import java.util.ArrayList; // 프로그래머스에서 에러가 뜬다면 import 했는지 체크!
public class MakeArray {
public int[] makeArray(int l, int r) {
ArrayList<Integer> result = new ArrayList<>();
for(int i = l; i<=r; i++){
if(String.valueOf(i).matches("[05]+")){ // 0 또는 5로 이루어진 하나 이상의 숫자
result.add(i);
}
}
if(result.isEmpty()){
return new int[]{-1}; // -1을 포함한 크기가 1인 배열 반환
}
int[] resultArray = new int[result.size()]; // ArrayList 크기에 맞게 배열 생성
for(int i=0; i<result.size(); i++){
resultArray[i] += result.get(i);
}
return resultArray;
}
}
Key Point 3
1. 데이터 추가를 위해 동적 ArrayList 객체 생성
2. String.matches 정규 표현식 사용
3. ArrayList를 배열로 반환하기 (반환값의 타입이 int[] 이기 때문에)
matches()
[ ] : [ ] 괄호 안의 문자가 있는지를 확인한다. | [ab][cd] : a,b 중 한 문자와 c,d 중 한 문자 |
+ : 앞의 표현식이 1개 이상 or 여러 개 | [05]+ : 0 또는 5의 숫자가 1개 이상 혹은 여러 개 |
728x90
'Algorithm' 카테고리의 다른 글
[프로그래머스] (181916) 주사위 게임 3 (0) | 2023.12.29 |
---|---|
[프로그래머스] (181913) 문자열 여러 번 뒤집기 (0) | 2023.12.28 |
[이것이 코딩 테스트다] (Ch03 그리디) 큰 수의 법칙 (0) | 2023.12.25 |
[프로그래머스] (181925) 수 조작하기2 (0) | 2023.12.24 |
[프로그래머스] (181926) 수 조작하기1 (0) | 2023.12.24 |