-
728x90
๐ ๋ฌธ์ ์ค๋ช
ํ ๊ฐ ์ด์์ ํญ์ ํฉ์ผ๋ก ์ด๋ฃจ์ด์ง ์์ ๋คํญ์์ด๋ผ๊ณ ํฉ๋๋ค. ๋คํญ์์ ๊ณ์ฐํ ๋๋ ๋๋ฅํญ๋ผ๋ฆฌ ๊ณ์ฐํด ์ ๋ฆฌํฉ๋๋ค. ๋ง์ ์ผ๋ก ์ด๋ฃจ์ด์ง ๋คํญ์
polynomial
์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๋๋ฅํญ๋ผ๋ฆฌ ๋ํ ๊ฒฐ๊ด๊ฐ์ ๋ฌธ์์ด๋ก return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด๋ณด์ธ์. ๊ฐ์ ์์ด๋ผ๋ฉด ๊ฐ์ฅ ์งง์ ์์์ return ํฉ๋๋ค.๐ ์ ํ ์ฌํญ
- 0 <
polynomial
์ ์๋ ์ < 100 - polynomial์ ๋ณ์๋ 'x'๋ง ์กด์ฌํฉ๋๋ค.
- polynomial์ ์์ ์ ์, ๊ณต๋ฐฑ, ‘x’, ‘+'๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- ํญ๊ณผ ์ฐ์ฐ๊ธฐํธ ์ฌ์ด์๋ ํญ์ ๊ณต๋ฐฑ์ด ์กด์ฌํฉ๋๋ค.
- ๊ณต๋ฐฑ์ ์ฐ์๋์ง ์์ผ๋ฉฐ ์์์ด๋ ๋์๋ ๊ณต๋ฐฑ์ด ์์ต๋๋ค.
- ํ๋์ ํญ์์ ๋ณ์๊ฐ ์ซ์ ์์ ์ค๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค.
- " + 3xx + + x7 + "์ ๊ฐ์ ์๋ชป๋ ์ ๋ ฅ์ ์ฃผ์ด์ง์ง ์์ต๋๋ค.
- 0์ผ๋ก ์์ํ๋ ์๋ ์์ต๋๋ค.
- ๋ฌธ์์ ์ซ์ ์ฌ์ด์ ๊ณฑํ๊ธฐ๋ ์๋ตํฉ๋๋ค.
- polynomial์๋ ์ผ์ฐจ ํญ๊ณผ ์์ํญ๋ง ์กด์ฌํฉ๋๋ค.
- ๊ณ์ 1์ ์๋ตํฉ๋๋ค.
- ๊ฒฐ๊ด๊ฐ์ ์์ํญ์ ๋ง์ง๋ง์ ๋ก๋๋ค.
- 0 < polynomial์ ๊ธธ์ด < 50
๐ ๋ต์
class Solution { public String solution(String polynomial) { String answer = ""; int xCount = 0; int nCount = 0; String [] arr = polynomial.replace(" +","").split(" "); for(String var : arr) { if(var.contains("x")) { var = var.replace("x",""); xCount += var!="" ? Integer.parseInt(var.replace("x","")) : 1; } else { nCount += Integer.parseInt(var); } } if(xCount==1) { answer = "x"; }else if(xCount > 1){ answer = xCount+"x"; }else { return ""+nCount; } return (nCount>0) ? answer + " + " + nCount : answer; } }
x๊ฐ ๋ถ์ ์์์ ์ซ์๋ผ๋ฆฌ ๋ํด์ฃผ๊ณ ์์ํญ๋ผ๋ฆฌ ๋ํ ํ ๋ฆฌํดํ๋ฉด ๋๋ ์ฌ์ด ๋ฌธ์ ์ง๋ง ๊ฒฝ์ฐ์ ์๊ฐ ๋ค์ํด์ ํ ์คํธ๋ฅผ ์ค๋ํ๋ค.์ฐ์
polynomial
์ ' +'๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๋ณํ ํsplit()
์ ์ด์ฉํด์ String ๋ฐฐ์ด๋ก ๋ง๋ค์ด์ค๋ค.๊ทธ๋ฆฌ๊ณ ๋ฐฐ์ด ๋ชจ๋ ์์๋ฅผ ๋๋ฉด์ 'x'๊ฐ ํฌํจ๋์ด ์๋์ง ํ์ธํ์ฌ ํฌํจ๋๋ค๋ฉด x๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๋ณ๊ฒฝํด์ ๋จ์ ๋ฌธ์์ด(์ซ์)์ด ์๋ค๋ฉด ๋ํด์ฃผ๊ณ ๋จ์ ๋ฌธ์์ด์ด ์๋ค๋ฉด 1์ ๋ํ๋ค.
'x'๊ฐ ํฌํจ๋์ง ์์๋ค๋ฉด ์ฆ ์์์ธ ๊ฒฝ์ฐ nCount์ ์์ํญ์ ๋ํด์ค๋ค.
๊ทธ๋ฆฌ๊ณ
x
ํญ์ด 1์ผ ๊ฒฝ์ฐ ์ซ์๋ฅผ ์๋ตํด์ผ ๋๊ธฐ ๋๋ฌธ์answer
์ x๋ง ๋ฃ์ด์ฃผ๊ณ 1 ์ด์์ผ ๊ฒฝ์ฐ์๋answer
์xCount
์ x๋ฅผ ๋ถ์ฌ์ ๋์ ํ๋ค. ๊ทธ๋ฆฌ๊ณ xํญ์ด 0์ผ ๊ฒฝ์ฐ์ ์์ ๊ณ์ฐ๊ฐ๋ง์ ๋ฆฌํดํ๋ค.๋ง์ง๋ง return์์ ์ผํญ ์ฐ์ฐ์๋ฅผ ํตํด ์์ ๊ณ์ฐ ๊ฒฐ๊ณผ๊ฐ 0 ์ด์์ผ ๊ฒฝ์ฐ xํญ ๊ฒฐ๊ณผ๊ฐ์ธ
answer
์ ๋ฌธ์์ด +, ์์ ๊ฒฐ๊ณผ๊ฐ์ ์ฐจ๋ก๋ก ๋ถ์ฌ์ ๋ฆฌํดํ๊ณ , 0 ์ด์์ด ์๋๊ฒฝ์ฐ์ xํญ ๊ฒฐ๊ณผ๊ฐ์ธanswer
๋ง ๋ฆฌํดํ๋ค.๐ก ์ฐธ๊ณ
A๋ฌธ์์ด.replace("๋ฌธ์์ดB","๋ฌธ์์ดC")
: A๋ฌธ์์ด์์ ๋ฌธ์์ดB๋ฅผ ์ฐพ์ ๋ฌธ์์ดC๋ก ์นํํด์ ๋ฆฌํด๋ฌธ์์ด.split("๊ตฌ๋ถ์")
: ๊ตฌ๋ถ์๋ฅผ ํตํด ๋ฌธ์์ด์ ๋์ด์ ๋ฐฐ์ด๋ก ๋ฆฌํด, ๊ตฌ๋ถ์๊ฐ ์๋ ๊ฒฝ์ฐ ํ๊ธ์์ฉ ๋์ด์ ๋ฐฐ์ด๋ก ๋ฆฌํดInteger.parseInt("๋ฌธ์์ด")
: ๋ฌธ์์ด์ ์ซ์ํ์ผ๋ก ํ๋ณํํด์ฃผ๋ ํจ์
728x90'algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐ป ์๋ฐ ์๊ณ ๋ฆฌ์ฆ - ์์๋ค์ ๊ณฑ๊ณผ ํฉ (0) 2023.09.18 ๐ป ์๋ฐ ์๊ณ ๋ฆฌ์ฆ - ์ฝ๋ ์ฒ๋ฆฌํ๊ธฐ (0) 2023.09.18 ๐ป ์๋ฐ ์๊ณ ๋ฆฌ์ฆ - ์ ์ฃผ์ ์ซ์ 3 (0) 2023.09.14 ๐ป ์๋ฐ ์๊ณ ๋ฆฌ์ฆ - ์ต๋๊ฐ ๋ง๋ค๊ธฐ (2) (0) 2023.09.11 ๐ป ์๋ฐ ์๊ณ ๋ฆฌ์ฆ - ์บ๋ฆญํฐ์ ์ขํ (0) 2023.09.10 - 0 <