class Solution {
fun solution(polynomial: String): String {
var poly = " " + polynomial
var varcnt = 0
var numcnt = 0
var answer = ""
for(i in polynomial.replace("+"," ").split(" ").filter { it.isNotEmpty() }) {
if("x" in i){
if(i.length == 1) varcnt += 1 else varcnt += i.substringBefore("x").toInt()
} else numcnt += i.toInt()
}
if(numcnt != 0 && varcnt == 0) answer = "$numcnt"
if(numcnt == 0 && varcnt != 0){
if(varcnt == 1) answer = "x" else answer = "${varcnt}x"
}
if(numcnt != 0 && varcnt != 0) {
if(varcnt == 1) answer = "x + ${numcnt}" else answer = "${varcnt}x + ${numcnt}"
}
return answer
}
}
String 형식으로 된 다항식을 + 연산자와 공백을 제거한 상태로 list에 집어넣고
원소마다 x가 안에 있는지 체크 후 사이즈가 1개라면
계수가 1인 x가 존재하므로 varcnt 에 1만 더해준다
x가 안에 없다면 그냥 numcnt로 더해준다
정답처리는 경우를 5가지로 나눠서 answer 변수에 대입해준다
상수만 있는경우, x만 있는 경우, 계수가 1인 x와 상수, else
class Solution {
fun solution(polynomial: String): String {
var xCount = 0
var num = 0
for (s in polynomial.split(" ".toRegex())) {
if (s.contains("x")) {
xCount += if (s == "x") 1 else s.replace("x".toRegex(), "").toInt()
} else if (s != "+") {
num += s.toInt()
}
}
return (if (xCount != 0) if (xCount > 1) "${xCount}x" else "x" else "") + if (num != 0) (if (xCount != 0) " + " else "") + num else if (xCount == 0) "0" else ""
}
}