반응형
문제 설명
정수 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.ArrayList;
class Solution {
public int[] solution(int l, int r) {
ArrayList<Integer> answerlist=new ArrayList<>();
for(int q=0;l<=r;l++){
String a=Integer.toString(l); //숫자 문자열로 바꾸기
for(int i=0,count=0;i<a.length();i++){ //문자열만큼 반복
if(a.charAt(i)=='5' || a.charAt(i)=='0'){
count++; //5나 0이 있는 경우 카운트 증가
}
if(count==a.length()){ //카운트와 문자열 길이가 똑같으면
answerlist.add(l); answerlist에 숫자 l추가
q++;
}
}
}
if(answerlist.size()==0) { //answerlist 사이즈 0이면
answerlist.add(-1); //-1추가
}
int[] answer=new int[answerlist.size()]; //answer 배열 선언 후 초기화
for(int i=0;i<answer.length;i++){
answer[i]=answerlist.get(i); //만든 배열에 answerlist 값 넣기
}
return answer;
}
}
후기
처음에는 answer 배열에 바로 추가할려고 하다가 점점 복잡해져가고 한참 해맸다. 하지만 ArrayList 클래스를 사용함으로써 쉽게 해결할 수 있었다.
'프로그래밍 > JAVA' 카테고리의 다른 글
자바/프로그래머스 ) 배열만들기4 (0) | 2023.06.06 |
---|---|
자바 기초) Integer 클래스의 중요 메소드 (0) | 2023.05.16 |
자바 기초) char[]과 string[]의 차이점 (0) | 2023.05.13 |
자바/프로그래머스) 문자열 섞기 (0) | 2023.05.13 |
자바 기초) 문자열에서 일부분 추출하기 (0) | 2023.05.12 |