본문 바로가기

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

[프로그래머스] ad 제거하기

728x90

코드 설명 및 힌트

이 코드는 문자열 배열에서 특정 문자열을 필터링하는 기능을 수행합니다. 예제에서는 문자열 배열 strArr에서 "ad"를 포함하지 않는 문자열만을 추출하여 새로운 배열로 반환합니다.

주요 코드 설명

  1. ArrayList 사용하기:
    • 배열의 크기를 미리 알 수 없을 때는 ArrayList를 사용하는 것이 편리합니다. ArrayList는 동적으로 크기가 조정되는 배열과 유사합니다.
      // import 필수
      import java.util.ArrayList;
      
      ArrayList 선언
      ArrayList<자료형> 배열이름 = new ArrayList<>();
  2. 반복문을 통한 문자열 필터링:
    • for-each 반복문을 사용하여 배열의 각 원소를 검사합니다. 이 때, 조건에 맞지 않는 문자열은 ArrayList에 추가합니다.
      for (String str : strArr) {
          코드작성
          ....
      }


  3. ArrayList를 배열로 변환:
    • 최종 결과를 반환하기 위해 ArrayList를 일반 배열로 변환합니다. 이 과정에서 ArrayList의 크기만큼 배열을 생성하고, 각 원소를 배열에 복사합니다.

 

 

코드 힌트

  1. 문자열 배열에서 특정 문자열을 제외하고 새로운 배열 만들기:
    • 주어진 문자열 배열에서 특정 문자열이 포함된 요소를 제외하고 새로운 배열을 만들어야 합니다.
  2. ArrayList 사용:
    • 배열의 크기를 미리 알 수 없으므로, 동적으로 크기를 조절할 수 있는 ArrayList를 사용해 보세요.
  3. 반복문 사용:
    • for-each 반복문을 사용하면 배열의 각 요소를 쉽게 순회할 수 있습니다. 이 때, 조건에 맞는 요소만 ArrayList에 추가해 보세요.
  4. 조건문 사용:
    • 특정 문자열을 포함하는지 확인하는 조건문을 사용하여 필요한 문자열만 필터링해 보세요.
  5. ArrayList를 배열로 변환:
    • 최종 결과는 배열 형태로 반환해야 하므로, ArrayList를 배열로 변환하는 과정을 생각해 보세요.

 

 


정답은 더보기 클릭

더보기
더보기
더보기
import java.util.*;

class Solution {
    public String[] solution(String[] strArr) {
        // 1. 동적으로 크기가 조절되는 ArrayList를 생성합니다.
        ArrayList<String> filterArr = new ArrayList<>();
        
        // 2. 배열의 각 요소를 순회하며 필터링합니다.
        for (String str : strArr) {
            // 3. "ad"를 포함하지 않는 문자열만 ArrayList에 추가합니다.
            if (!str.contains("ad")) {
                filterArr.add(str);
            }
        }
        
        // 4. ArrayList의 크기만큼의 배열을 생성합니다.
        String[] result = new String[filterArr.size()];
        
        // 5. ArrayList의 요소들을 배열에 복사합니다.
        for (int i = 0; i < result.length; i++) {
            result[i] = filterArr.get(i);
        }
        
        // 6. 최종 결과 배열을 반환합니다.
        return result;
    }
}

 

728x90