다항식 더하기

seheeee_97·2023년 11월 20일

회고팀

목록 보기
15/41

class Solution {
    public String solution(String polynomial) {
        String answer = "";
        int linear = 0;     //일차항
        int constant = 0;   //상수항
        
        String[] num = polynomial.split("\\s*\\+\\s*");
        
        for (String number : num){
            if(number.contains("x")){       //일차항 계산
                number = number.replace("x", "");
                if (number.isEmpty()) {     //x일 때 
                    linear += 1;
                } else {
                    linear += Integer.parseInt(number);
                }
            } else {                        //상수항 계산
                constant += Integer.parseInt(number);
            }
        }
        
        
        if (linear == 0) {              //일차항이 0일 때
            return answer = String.format("%d", constant);        
        } else if (constant == 0) {     //상수항이 0일 때
            if(linear == 1){            //상수항이 0이면서 일차항이 1일 때
                return answer = String.format("x"); 
            }
            return answer = String.format("%dx", linear);       
        } else if (linear == 1) {       //일차항이 1일 때
            return answer = String.format("x + %d", constant);
        } else {
            return answer = String.format("%dx + %d", linear, constant);
        }
    }
}

0개의 댓글