코딩 테스트 (Java)/코딩 기초 트레이닝 (프로그래머스)

181912. 배열 만들기 5

가지코딩 2025. 4. 9. 09:22

https://school.programmers.co.kr/learn/courses/30/lessons/181912

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr


문제

문자열 배열 intStrs와 정수 k, s, l가 주어집니다. intStrs의 원소는 숫자로 이루어져 있습니다.

배열 intStrs의 각 원소마다 s번 인덱스에서 시작하는 길이 l짜리 부분 문자열을 잘라내 정수로 변환합니다. 이때 변환한 정수값이 k보다 큰 값들을 담은 배열을 return 하는 solution 함수를 완성해 주세요.

 

제한사항

  • 0 ≤ s < 100
  • 1 ≤ l ≤ 8
  • 10l - 1k < 10l
  • 1 ≤ intStrs의 길이 ≤ 10,000
    • s + lintStrs의 원소의 길이 ≤ 120

 

입출력 예

intStrs k s l result
["0123456789","9876543210","9999999999999"] 50000 5 5 [56789, 99999]

 

입출력 예 #1

  • idx에 따라 잘라낸 문자열과 그에 따른 ret의 변화를 표시하면 다음 표와 같습니다.
idx 잘라낸 문자열 ret
0 "56789" [56789]
1 "43210" [56789]
2 "99999" [56789, 99999]
  • 따라서 [56789, 99999]를 return 합니다.

풀이

import java.util.*;

class Solution {
    public int[] solution(String[] intStrs, int k, int s, int l) {
        ArrayList<Integer> list = new ArrayList<>();
        
        int n;
        for(String i: intStrs){
            n = Integer.parseInt(i.substring(s, s+l));
            if(n > k) list.add(n);
        }
        
        int[] answer = new int[list.size()];
        for (int i = 0; i < list.size(); i++) {
            answer[i] = list.get(i);
        }
        return answer;
    }
}

 

 

 


GitHub: https://github.com/gajicoding/coding_test/edit/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/181912.%E2%80%85%EB%B0%B0%EC%97%B4%E2%80%85%EB%A7%8C%EB%93%A4%EA%B8%B0%E2%80%855

 

coding_test/프로그래머스/0/181912. 배열 만들기 5 at main · gajicoding/coding_test

This is an auto push repository for Baekjoon Online Judge created with [BaekjoonHub](https://github.com/BaekjoonHub/BaekjoonHub). - gajicoding/coding_test

github.com


출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

 

코딩테스트 연습 | 프로그래머스 스쿨

개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!

school.programmers.co.kr