본문 바로가기

프로그래머스(Java)/Level 0

[프로그래머스] 배열 만들기 5

728x90

코드 힌트

  1. 배열 크기 동적 조정:
    • 배열의 크기를 미리 알 수 없으므로 ArrayList를 사용하여 동적으로 크기를 조정합니다. ArrayList는 요소를 추가할 때 자동으로 크기가 조정됩니다.
  2. 문자열 처리:
    • 각 문자열에서 특정 구간을 추출하려면 substring(int startIndex, int endIndex) 메서드를 사용합니다. 이 구간을 정수로 변환하기 위해 Integer.parseInt(String s) 메서드를 사용합니다.
  3. 조건 검사 및 추가:
    • 변환된 정수가 주어진 값 k보다 큰지 검사하고, 조건에 맞으면 리스트에 추가합니다.
  4. 배열 변환:
    • ArrayList의 내용을 정적 배열로 변환합니다. 리스트의 크기를 기반으로 배열을 생성하고, 리스트의 각 값을 배열에 복사합니다.

정답은 더보기 클릭

더보기
import java.util.*;

class Solution {
    public int[] solution(String[] intStrs, int k, int s, int l) {
        // 결과를 저장할 리스트 생성 (배열 크기를 동적으로 조정할 수 있도록 ArrayList 사용)
        List<Integer> list = new ArrayList<>();
        
        // 입력된 문자열 배열(intStrs)을 순회
        for (String str : intStrs) {
            // 문자열의 특정 구간을 추출하여 정수로 변환
            int n = Integer.parseInt(str.substring(s, s + l));
            
            // 변환된 정수가 k보다 큰 경우 리스트에 추가
            if (n > k) {
                list.add(n);
            }
        }
        
        // 리스트의 내용을 배열로 변환
        int[] result = new int[list.size()];
        for (int i = 0; i < list.size(); i++) {
            result[i] = list.get(i);  // 리스트의 각 값을 배열에 복사
        }
        
        // 결과 배열 반환
        return result;
    }
}
728x90