728x90
๋ฌธ์ ์ค๋ช
ํ ๊ฐ ์ด์์ ํญ์ ํฉ์ผ๋ก ์ด๋ฃจ์ด์ง ์์ ๋คํญ์์ด๋ผ๊ณ ํฉ๋๋ค. ๋คํญ์์ ๊ณ์ฐํ ๋๋ ๋๋ฅํญ๋ผ๋ฆฌ ๊ณ์ฐํด ์ ๋ฆฌํฉ๋๋ค. ๋ง์ ์ผ๋ก ์ด๋ฃจ์ด์ง ๋คํญ์ polynomial์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๋๋ฅํญ๋ผ๋ฆฌ ๋ํ ๊ฒฐ๊ด๊ฐ์ ๋ฌธ์์ด๋ก return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด๋ณด์ธ์. ๊ฐ์ ์์ด๋ผ๋ฉด ๊ฐ์ฅ ์งง์ ์์์ return ํฉ๋๋ค.
์ ํ์ฌํญ
- 0 < polynomial์ ์๋ ์ < 100
- polynomial์ ๋ณ์๋ 'x'๋ง ์กด์ฌํฉ๋๋ค.
- polynomial์ ์์ ์ ์, ๊ณต๋ฐฑ, ‘x’, ‘+'๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- ํญ๊ณผ ์ฐ์ฐ๊ธฐํธ ์ฌ์ด์๋ ํญ์ ๊ณต๋ฐฑ์ด ์กด์ฌํฉ๋๋ค.
- ๊ณต๋ฐฑ์ ์ฐ์๋์ง ์์ผ๋ฉฐ ์์์ด๋ ๋์๋ ๊ณต๋ฐฑ์ด ์์ต๋๋ค.
- ํ๋์ ํญ์์ ๋ณ์๊ฐ ์ซ์ ์์ ์ค๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค.
- " + 3xx + + x7 + "์ ๊ฐ์ ์๋ชป๋ ์ ๋ ฅ์ ์ฃผ์ด์ง์ง ์์ต๋๋ค.
- 0์ผ๋ก ์์ํ๋ ์๋ ์์ต๋๋ค.
- ๋ฌธ์์ ์ซ์ ์ฌ์ด์ ๊ณฑํ๊ธฐ๋ ์๋ตํฉ๋๋ค.
- polynomial์๋ ์ผ์ฐจ ํญ๊ณผ ์์ํญ๋ง ์กด์ฌํฉ๋๋ค.
- ๊ณ์ 1์ ์๋ตํฉ๋๋ค.
- ๊ฒฐ๊ด๊ฐ์ ์์ํญ์ ๋ง์ง๋ง์ ๋ก๋๋ค.
- 0 < polynomial์ ๊ธธ์ด < 50
0๋ ๋ฒจ ์น๊ณ ๋ ์ข ๊น๋ค๋ก์ด ๋ฌธ์ ์์.
๋ฐ๋ก๋ฅผ ์ ์๊ฐํด๋ณด์์ผ ํ๋ค.
xํญ์ด 0์ผ ๊ฒฝ์ฐ๋, ์์ํญ์ด 0์ผ ๊ฒฝ์ฐ ๋ฑ์ ๋ชจ๋ ๊ณ ๋ คํด์ ํ์ด์ผ ํจ!!
๋์ ํ์ด
#include <string>
#include <vector>
using namespace std;
string solution(string polynomial) {
string answer = "";
string tmp = "";
int xcnt=0;
int numcnt=0;
for(char i: polynomial){
if(i==' ') continue;
if(i=='+'){
if(tmp=="") continue;
else numcnt += stoi(tmp);
tmp = "";
}
if(i=='x'){
if(tmp=="") tmp="1";
xcnt += stoi(tmp);
tmp = "";
}
if(isdigit(i)){
tmp += i;
}
}
if(tmp!="") numcnt += stoi(tmp);
if(xcnt==1) answer = "x";
else if(xcnt==0) answer = "";
else answer = to_string(xcnt) + "x";
if(answer=="") answer = to_string(numcnt);
else if(numcnt) answer += " + "+to_string(numcnt);
return answer;
}
728x90
'๐ ์๊ณ ๋ฆฌ์ฆ > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C++/PGS] Lv.2 : ์ด์ง ๋ณํ ๋ฐ๋ณตํ๊ธฐ (0) | 2023.09.17 |
---|---|
[MySQL/PGS] Lv.3 : ์ฆ๊ฒจ์ฐพ๊ธฐ๊ฐ ๊ฐ์ฅ ๋ง์ ์๋น ์ ๋ณด ์ถ๋ ฅํ๊ธฐ (0) | 2023.09.16 |
[C++/PGS] Lv.0 : ์น์์ด (1) (๊ตฌํ) (0) | 2023.05.27 |
[C++/PGS] Lv.0 : ๊ฒน์น๋ ์ ๋ถ์ ๊ธธ์ด (๊ตฌํ) (0) | 2023.05.27 |
[C++/PGS] Lv.0 : ์ฐ์๋ ์์ ํฉ (๊ตฌํ) (0) | 2023.05.26 |