문제 풀이/java

programmers / 입문 문제 - 다항식 더하기

JChBeen 2022. 10. 21. 12:15

문제는 programmers를 참고

public static String solution(String polynomial) {
    String[] strTerm = polynomial.split(" ");
    List<String> xTerm = new ArrayList<>();
    List<String> numTerm = new ArrayList<>();
    for (String s : strTerm) {
        if (s.contains("x"))   // x항을 구분해서 넣음
            xTerm.add(s);
        else if (!s.contains("+"))  // 숫자 항을 구분해서 넣음.
            numTerm.add(s);
    }
    int xSum = 0;
    for (String s : xTerm) {
        s = s.replace("x", "");
        s = s.equals("") ? "1" : s;
        xSum += Integer.parseInt(s.replace("x", ""));
    }
    int numSum = 0;
    for (String s : numTerm) {
        numSum += Integer.parseInt(s);
    }

    String result = xSum == 0 ? "" :     // x항의 수가 1일 경우 숫자를 붙힐 필요가 없기 때문에
            xSum == 1 ? "x" : Integer.toString(xSum) + "x";

    result += numSum == 0 ? "" :  //
            result.equals("") ? Integer.toString(numSum) : " + " + Integer.toString(numSum);


    return result;
}

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