Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 자바
- database
- hash table
- implement
- sorting
- bit manipulation
- Binary Search
- 구현
- Stack
- string
- SQL
- Counting
- Matrix
- two pointers
- java
- Math
- Tree
- Binary Tree
- 코테
- geometry
- Method
- dynamic programming
- 코딩테스트
- simulation
- 파이썬
- greedy
- array
- Class
- Data Structure
- Number Theory
Archives
- Today
- Total
코린이의 소소한 공부노트
[프로그래머스/Lv.0] 다항식 더하기 본문
1. Input
1) 덧셈으로 이루어진 1차 다항식 polynomial
2. Output
1) 동류항끼리 더한 결괏값을 담은 문자열
3. Constraint
1) 0 < polynomial에 있는 수 < 100
2) polynomial은 0부터 9까지의 정수, 공백, ‘x’, ‘+'로 이루어져 있다.
3) 항과 연산기호 사이에는 항상 공백이 존재한다.
4) 공백은 연속되지 않으며 시작이나 끝에는 공백이 없다.
5) 하나의 항에서 변수가 숫자 앞에 오는 경우는 없다.
6) 잘못된 입력은 주어지지 않는다.
7) 0을 제외하고는 0으로 시작하는 수는 없다.
8) 문자와 숫자 사이의 곱하기는 생략한다.
9) 계수 1은 생략한다.
10) 결괏값은 내림차순으로 정렬한다.
11) 0 < polynomial의 길이 < 50
4. Example
Input: polynomial="3x + 7 + x" -> Output: “4x + 7”
5. Code
1) 첫 코드(2022/11/02)
String[] exp = polynomial.split(" ");
int[] coef = new int[2]; // 일차항의 계수, 상수항
for(int i=0 ; i<exp.length ; i+=2){ // "+"는 건너뜀
if(exp[i].contains("x")){
if(exp[i].equals("x")) coef[0] += 1;
else if(exp[i].equals("-x")) coef[0] -= 1;
else
coef[0] += Integer.valueOf(exp[i].substring(0,exp[i].length()-1));
} // if
else
coef[1] += Integer.valueOf(exp[i]);
} // end of for
String answer = "";
switch(coef[0]){
case 1: answer += "x"; break;
case -1: answer += "-x"; break;
case 0: break;
default: answer += coef[0] + "x";
}
if(coef[1]!=0){
if(answer.length()!=0)
return answer + " + " + coef[1]; // "ax + b"
else
return String.valueOf(coef[1]); // "b"
}
else{
if(answer.length()!=0)
return answer; // "ax"
else
return String.valueOf(coef[1]); // "0"
}
'코딩테스트 풀이 > JAVA' 카테고리의 다른 글
[프로그래머스/Lv.0] 안전지대 (0) | 2022.11.09 |
---|---|
[프로그래머스/Lv.0] 연속된 수의 합 (0) | 2022.11.09 |
[프로그래머스/Lv.0] 최댓값 만들기 (2) (0) | 2022.11.02 |
[프로그래머스/Lv.0] 캐릭터의 좌표 (0) | 2022.11.02 |
[프로그래머스/Lv.0] 직사각형 넓이 구하기 (0) | 2022.11.02 |