문제
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
풀이
숫자로 이루어져 있는 문자열에서 s번 인덱스부터 l만큼의 길이로 자른다고 되어있다.
l은 8자리까지 가능하다는 것은 1억까지의 수가 나온다는 의미이다.
즉, int로 해도 된다는 의미이다.
120개중 k보다 큰 숫자가 몇개가 있는지 알 수 없어 동적배열인 ArrayList를 선택했다.
1. substring으로 문자열을 잘라서 Integer로 파싱해본다.
2. k보다 큰 숫자라면 동적배열에 넣는다.
3. 동적배열의 크기만큼 int 배열을 만든다.
4. int 배열에 값을 넣어준다.
소스코드
import java.util.*;
class Solution {
public int[] solution(String[] intStrs, int k, int s, int l) {
ArrayList<Integer> list = new ArrayList<>();
for (String str : intStrs) {
int value = Integer.parseInt(str.substring(s, s + l));
if (value > k) list.add(value);
}
int[] answer = new int[list.size()];
for (int i = 0; i < list.size(); i++) {
answer[i] = list.get(i);
}
return answer;
}
}'Problem Solving > Programmers' 카테고리의 다른 글
| [Programmers] 배열 만들기 2 - Java (0) | 2025.05.13 |
|---|---|
| [Programmers] 코드 처리하기 - Java (0) | 2025.05.11 |
| [Programmers] 부분 문자열 이어 붙여 문자열 만들기 - Java (0) | 2025.05.06 |
| [Programmers] n보다 커질 때까지 더하기 - Java (0) | 2025.05.05 |
| [Programmers] 체육복 - Java (0) | 2025.05.04 |