https://school.programmers.co.kr/learn/courses/30/lessons/120863
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
저는 구현을 통해 문제를 해결했습니다.
8, 10 ,12 번에서 틀리신다면 답을 출력할 때 x를 1x로 표시하고 있는지를 확인해보시면 좋을 것 같습니다.
import java.util.*;
class Solution {
public String solution(String polynomial) {
String answer = cal(polynomial);
return answer;
}
private static String cal(String polynomial){
String[] temp = polynomial.split(" ");
int xCnt = 0;
int num = 0;
// System.out.println(Arrays.toString(temp));
for(String str : temp){
if(str.equals("+")){
continue;
}
if(str.charAt(str.length()-1) == 'x'){
if(str.length() == 1){
xCnt++;
}else{
xCnt += Integer.parseInt(str.substring(0,str.length()-1));
}
}else{
num += Integer.parseInt(str);
}
}
StringBuilder sb = new StringBuilder();
if(xCnt == 1){
sb.append("x ");
}else if(xCnt != 0){
sb.append(xCnt+"x ");
}
if(num != 0){
if(sb.length() != 0){
sb.append("+ ");
}
sb.append(num);
}else{
sb.setLength(sb.length()-1);
}
return sb.toString();
}
}
'알고리즘' 카테고리의 다른 글
백준 18223번 민준이와 마산 그리고 건우 (JAVA) (0) | 2023.06.08 |
---|---|
백준 17845번 수강 과목 (JAVA) (0) | 2023.06.07 |
백준 17829번 222-풀링 (JAVA) (0) | 2023.06.05 |
프로그래머스 23749번 카드컨트롤 (JAVA) (1) | 2023.06.04 |
백준 15993번 1,2,3 더하기 8 (JAVA) (0) | 2023.06.03 |