728x90
https://school.programmers.co.kr/learn/courses/30/lessons/181866
문제)문자열 myString이 주어집니다. "x"를 기준으로 해당 문자열을 잘라내 배열을 만든 후 사전순으로 정렬한 배열을 return 하는 solution 함수를 완성해 주세요. 단, 빈 문자열은 반환할 배열에 넣지 않습니다.
풀이)
import java.util.*;
class Solution {
public String[] solution(String myString) {
String[] answer = {};
myString = myString.trim();
myString = myString.replaceAll("\\s+", "");
myString = myString.replaceAll("x", " ");
myString = myString.replaceAll("\\s+", "x");
if(myString.indexOf("x")==0){
myString = myString.substring(1);
}else if (myString.indexOf("x")==myString.length()-1){
myString = myString.substring(0, myString.length()-2);
}
answer = myString.split("x");
Arrays.sort(answer);
return answer;
}
}
이 문제는 여러가지의 반례들을 생각해야 된다.
문제가 틀렸을 경우를 생각해야되는경우
1.문자열 앞뒤에 공백이 있는 경우
2.문자열 중간에 하나이상의 공백이 존재할 경우
3.문자열 시작이 x로 시작할경우
4.문자열 끝이 x로 끝나는 경우
5.문자열의 시작과 끝이 모두 x로 이루어진 경우
요 5가지를 생각하고 문제를 푼다면 문제 없을 것이다.
728x90
'프로그래밍 > Java(자바)' 카테고리의 다른 글
[프로그래머스] 문자열 밀기 --java (0) | 2024.02.26 |
---|---|
[프로그래머스] 세 개의 구분자 --java (0) | 2024.02.20 |
[프로그래머스] 접미사 배열 --java (0) | 2024.02.20 |
[프로그래머스] 간단한 식 계산하기 --java (0) | 2024.02.19 |
[프로그래머스] l로 만들기 --java (0) | 2024.02.19 |