import java.util.Arrays;
class Solution {
public String solution(String polynomial) {
String answer = "";
String[] splitPoly = polynomial.split("\\+");
Integer first =0;
Integer two =0;
for(int i=0;i<splitPoly.length;i++){
if(splitPoly[i].contains("x")){ //x처리 부분
try{
String[] exception = splitPoly[i].split("x");
first += Integer.parseInt(exception[0].replaceAll(" ",""));
}
catch (Exception e){
first +=1;
}
}
else{
// 상수 처리부분 공백제거후 처리
String exception = splitPoly[i].replaceAll(" ","");
two +=Integer.parseInt(exception);
}
}
if(first >0){ // x가 1이상일떄
if(first ==1){ //x가 1이면 1x가 나오지 않게 하기 위해 처리
if(two>0){
answer +="x + " + two;
}
else
{
answer +="x";
}
}
else{ // x가 1이상이면 보통처리
if(two>0){
answer +=first + "x + " + two;
}
else
{
answer +=first + "x";
}
}
}
else{
// x 가 0이면 상수만 출력
answer += two;
}
// System.out.println(answer);
return answer;
}
}
오늘의 교훈 문자열 처리 공백을 조심해라.
1. replaceAll로 공백처리후 작업하는것이 좋다.
2. equals가 안먹힌다.. ㅠㅠ 그럼 contains로 처리 후 split("x)로 처리해보자
3. 예외처리 :
1. 1x 는 x로 나와야함.
2. 상수가 0일때 x값만 표시 또는 x가 0일때 상수값만 표시
'프로그래머스' 카테고리의 다른 글
SQL 흉부외과 또는 일반외과 의사 목록 출력하기 (0) | 2023.04.03 |
---|---|
SQL 12세 이하인 여자 환자 목록 출력하기 (0) | 2023.03.29 |
SQL 과일로 만든 아이스크림 고르기 (0) | 2023.03.29 |
키패드 누르기 (0) | 2023.01.16 |
삼총사 (0) | 2023.01.15 |