문제설명
정수 l과 r이 주어졌을 때, l 이상 r이하의 정수 중에서 숫자 "0"과 "5"로만 이루어진 모든 정수를 오름차순으로 저장한 배열을 return 하는 solution 함수를 완성해 주세요.
만약 그러한 정수가 없다면, -1이 담긴 배열을 return 합니다.
제한사항
- 1 ≤ l ≤ r ≤ 1,000,000
입출력예
l | r | result |
5 | 555 | [5, 50, 55, 500, 505, 550, 555] |
10 | 20 | [-1] |
나의문제풀이
import java.util.*;
class Solution {
public int[] solution(int l, int r) {
ArrayList<Integer> resultList = new ArrayList<>();
for(int i = l;i <= r;i++){
if(String.valueOf(i).matches("[05]+")){
resultList.add(i);
}
}
if(resultList.isEmpty()){
return new int[]{-1};
}
int[] resultArray = new int[resultList.size()];
for (int i = 0; i < resultList.size(); i++) {
resultArray[i] = resultList.get(i);
}
return resultArray;
}
}
matches()
- 주어진 정규 표현식과 일치하는지 여부를 확인하는 함수
- 정규표현식을 사용하지 않을경우 "정확히" 일치 해야한다
정규식 해석
- [ ] : 대괄호 안에는 문자 클래스를 나타내는 문자들을 기술한다. 문자 클랫느는 해당 위치에 있는 문자 중 하나를 의미한다
- 05 : 0과 5 두 개의 문자를 의미
- + : 바로 앞에 있는 문자 또는 문자 클래스가 1번 이상 반복되는 것을 의미
'Algorithm > 코딩테스트' 카테고리의 다른 글
[코딩테스트] 코팅테스트 - 깊이/너비 우선 탐색(DFS/BFS) 타겟 넘버 (0) | 2024.05.09 |
---|---|
[코딩테스트] 백준 - BFS 미로 탐색 (0) | 2024.05.09 |
[코딩테스트] 프로그래머스 - 스택/큐 기능개발 (1) | 2024.05.06 |
[코딩테스트] 프로그래머스 - 스택/큐 같은 숫자는 싫어 (0) | 2024.05.06 |
[코딩테스트] 프로그래머스 - 배열 만들기 1 (0) | 2024.05.05 |