โค๏ธ Problem
- ๋ฌธ์
๋ฌธ์์ด my_string์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. my_string์ ์๋ฌธ์, ๋๋ฌธ์, ์์ฐ์๋ก๋ง ๊ตฌ์ฑ๋์ด์์ต๋๋ค. my_string์์ ์์ฐ์๋ค์ ํฉ์ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
- ์ ํ ์ฌํญ
- 1 ≤ my_string์ ๊ธธ์ด ≤ 1,000
- 1 ≤ my_string ์์ ์์ฐ์ ≤ 1000
- ์ฐ์๋ ์๋ ํ๋์ ์ซ์๋ก ๊ฐ์ฃผํฉ๋๋ค.
- 000123๊ณผ ๊ฐ์ด 0์ด ์ ํํ๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค.
- ๋ฌธ์์ด์ ์์ฐ์๊ฐ ์๋ ๊ฒฝ์ฐ 0์ return ํด์ฃผ์ธ์.
- ์ ์ถ๋ ฅ ์ & ์ค๋ช
no | my_string | result |
1 | "aAb1B2cC34oOp" | 37 |
2 | "1a2b3c4d123Z" | 133 |
- "aAb1B2cC34oOp"์์ ์์ฐ์๋ 1, 2, 34 ์ ๋๋ค. ๋ฐ๋ผ์ 1 + 2 + 34 = 37 ์ returnํฉ๋๋ค.
- "1a2b3c4d123Z"์์ ์์ฐ์๋ 1, 2, 3, 4, 123 ์ ๋๋ค. ๋ฐ๋ผ์ 1 + 2 + 3 + 4 + 123 = 133 ์ returnํฉ๋๋ค.
๐ Solution
ํ์ด
class Solution {
public int solution(String my_string) {
String[] num = my_string.replaceAll("[^0-9]", " ").split(" ");
int sum = 0;
for(int i=0; i<num.length; i++) {
if(num[i].equals("")) {
continue;
} else {
sum += Integer.parseInt(num[i].trim());
}
}
return sum;
}
}
์ฒ๋ฆฌ์๋๋ NOT BAD.. ์ข ๋ ๋น ๋ฅด๊ฒ ๋ณด์ํ ์ ์์๊น?
๐ Comment
์ซ์๋ฅผ ์ ์ธํ ์์ด ์๋ฌธ์ ๋ฐ ๋๋ฌธ์๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๋์ฒดํ ๋ค์ String[]์ผ๋ก ๋ณํํ ๋, ์๊พธ ๊ณต๋ฐฑ์ด ์ฝ์ ๋๋ ์ด์๊ฐ ์์๋ค. trim();์ ์ฌ์ฉํ๋ คํ์ง๋ง, trim();์ ์ฌ์ฉํ๋ฉด ๊ณต๋ฐฑ์ด ๋ชจ๋ ์์ด์ ธ ์ซ์๊ฐ ๋ช์๋ฆฌ์์ธ์ง ๊ตฌ๋ถ์ด ์๋์๋ค.
๊ณต๋ฐฑ์ผ๋ก ์ธํด int ๋ณํ ์ ์๋ ์ฌ์ง์ฒ๋ผ NumberFormatException์ด ๋ฐ์ํ๋ค.
Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:68)
๊ทธ๋์ ํฉ๊ณ๋ฅผ ๊ตฌํ๋ ๋ถ๋ถ์์ ์กฐ๊ฑด๋ฌธ์ ์ถ๊ฐํ์๋ค. num[i].equals("");์ธ ๊ฒฝ์ฐ์๋ ์ง์, ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ์๋ง int๋ก ๋ณํํ์ฌ ํฉ๊ณ์ ๋ํ ์ ์๋๋ก ์์ฑํ๋ค.
ํต๊ณผ ์๋ฃ ๐ช
'Programmers lv-0' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ธ๊ณ์ด ์ฌ์ - Java [ํ๋ก๊ทธ๋๋จธ์ค ์ ๋ฌธ] (0) | 2022.11.28 |
---|---|
์ง์ฌ๊ฐํ ๋์ด ๊ตฌํ๊ธฐ - Java [ํ๋ก๊ทธ๋๋จธ์ค ์ ๋ฌธ] (1) | 2022.11.28 |
์บ๋ฆญํฐ์ ์ขํ - Java [ํ๋ก๊ทธ๋๋จธ์ค ์ ๋ฌธ] (1) | 2022.11.28 |
๋คํญ์ ๋ํ๊ธฐ - Java [ํ๋ก๊ทธ๋๋จธ์ค ์ ๋ฌธ] (0) | 2022.11.28 |
์ต๋๊ฐ ๋ง๋ค๊ธฐ (2) - Java [ํ๋ก๊ทธ๋๋จธ์ค ์ ๋ฌธ] (0) | 2022.11.28 |
๋ฌธ์์ด ๊ณ์ฐํ๊ธฐ - Java [ํ๋ก๊ทธ๋๋จธ์ค ์ ๋ฌธ] (0) | 2022.11.28 |
๋๊ธ