런타임 에러는 안뜨는데 2,4,5,8,9,11~14,17번이 실패로 뜨네요.. 공백이 2칸 이상 나왔을 때 split 에러떠서 String newStr = s.replaceAll("\s+", " "); 공백이 2칸 이상일 때 공백 1개로 바꿔주는 걸로 처리했는데.. 뭐가 문제일까요?ㅠㅠ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 class Solution { public String solution(String s) { String newStr = s.replaceAll("\\s+", " "); String[] s_split = newStr.split(" "); String answer = ""; for (String str : s_split) { String[] str_split = str.split(""); if (isInteger(str_split[0])){ answer += (str.toLowerCase() + " "); } else { answer += (str.substring(0, 1).toUpperCase() + str.substring(1).toLowerCase() + " "); } } return answer.trim(); } public static boolean isInteger(String strValue) { try { Integer.parseInt(strValue); return true; } catch (NumberFormatException ex) { return false; } } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
class Solution { public String solution(String s) { String newStr = s.replaceAll("\\s+", " "); String[] s_split = newStr.split(" "); String answer = ""; for (String str : s_split) { String[] str_split = str.split(""); if (isInteger(str_split[0])){ answer += (str.toLowerCase() + " "); } else { answer += (str.substring(0, 1).toUpperCase() + str.substring(1).toLowerCase() + " "); } } return answer.trim(); } public static boolean isInteger(String strValue) { try { Integer.parseInt(strValue); return true; } catch (NumberFormatException ex) { return false; } } }
저랑 같은 상황,,
문제에서 조건 중에 공백이 연속으로 나올 수 있다고 나와있습니다. 공백이 연속으로 나왔다면 결과에도 똑같이 공백이 연속으로 나와야 합니다.