ad 제거하기

Programmers 코딩 기초 트레이닝

문제 설명

문자열 배열 strArr가 주어집니다. 배열 내의 문자열 중 “ad”라는 부분 문자열을 포함하고 있는 모든 문자열을 제거하고 남은 문자열을 순서를 유지하여 배열로 반환하는 solution 함수를 완성해야 합니다.

제한사항

  • 1 ≤ strArr의 길이 ≤ 1,000
  • 1 ≤ strArr의 원소의 길이 ≤ 20
  • strArr의 원소는 알파벳 소문자로 이루어진 문자열입니다.

입출력 예

strArr result
[“and”,”notad”,”abcd”] [“and”,”abcd”]
[“there”,”are”,”no”,”a”,”ds”] [“there”,”are”,”no”,”a”,”ds”]

입출력 예 설명

입출력 예 #1
1번 인덱스의 문자열인 “notad”는 부분 문자열로 “ad”를 가집니다. 따라서 해당 문자열을 제거하고 나머지는 순서를 유지하여 [“and”,”abcd”]를 반환합니다.

입출력 예 #2
“ad”가 부분 문자열로 들어간 문자열이 존재하지 않습니다. 따라서 원래 배열을 그대로 반환합니다.

class Solution {
	
	public static void main(String[] args) {
		 String[] strArr = {"and","notad","abcd"};
		 String[] newstrArr = solution(strArr);
		 for (String str : newstrArr) {
	         System.out.println(str);
	     }
	}
	public static String[] solution(String[] strArr) {
        int count = 0;
        for (String str : strArr) {
            if (!str.contains("ad")) {
                count++;
            }
        }
        
        String[] answer = new String[count];
        int idx = 0;
        for (String str : strArr) {
            if (!str.contains("ad")) {
                answer[idx++] = str;
            }
        }
        return answer;
    }
}

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

Leave a comment