class Solution {
public String solution(String polynomial) {
String answer = "";
String[] terms = polynomial.split("\\+");
int x = 0;
int g = 0;
for (int i = 0; i < terms.length; i++) {
String term = terms[i].trim();
if (term.equals("x")) {
x += 1;
} else if (term.contains("x")) {
int coefficient = 0;
if (term.startsWith("-x")) {
coefficient = -1;
} else {
coefficient = Integer.parseInt(term.substring(0, term.indexOf("x")));
}
x += coefficient;
} else if (!term.equals("")) {
g += Integer.parseInt(term);
}
}
if (x != 0) {
if(x == 1) {
answer += "x";
} else {
answer += x + "x";
}
}
if (g != 0) {
if (x != 0) {
answer += " + ";
}
answer += g;
}
return answer;
}
}
- startsWith는 문자열이 특정 접두사로 시작하는지를 검사하는 Java의 문자열 메서드
- trim()은 문자열의 앞과 뒤에 있는 공백을 제거하는 Java의 문자열 메서드입니다. 문자열 내에 있는 공백은 텍스트 상의 불필요한 여백일 수 있으며, 이를 제거하여 문자열을 처리할 때 유용하게 사용됩니다.
- term.substring(0, term.indexOf("x"))는 문자열 term에서 "x"가 나오기 전까지의 부분 문자열을 추출하는 것을 의미합니다. 그리고 이 추출된 부분 문자열을 정수로 변환하여 coefficient 변수에 할당하는 구문입니다.
예를 들어, term이 "3x"인 경우, 이 코드는 "3"을 추출하여 정수로 변환하여 coefficient에 할당합니다. 이로써 "3x" 항의 계수가 3이라는 것을 추출합니다.
'ㅋㅌ' 카테고리의 다른 글
[SQL] WHERE ** LIKE '**%' (0) | 2023.08.22 |
---|---|
[SQL] COALESCE (0) | 2023.08.22 |
[SQL] COUNT(*) (0) | 2023.08.20 |
등수 매기기******************* (0) | 2023.08.20 |
[SQL] JOIN (0) | 2023.08.19 |