โฐ๋ฌธ์
๋ฌธ์์ด my_string์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. my_string์์ ๋ชจ๋ ์์ฐ์๋ค์ ํฉ์ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- 1 ≤ my_string์ ๊ธธ์ด ≤ 1,000
- my_string์ ์๋ฌธ์, ๋๋ฌธ์ ๊ทธ๋ฆฌ๊ณ ํ์๋ฆฌ ์์ฐ์๋ก๋ง ๊ตฌ์ฑ๋์ด์์ต๋๋ค.
์ ์ถ๋ ฅ ์
my_string | result |
"aAb1B2cC34oOp" | 10 |
"1a2b3c4d123Z" | 16 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- "aAb1B2cC34oOp"์์ ํ์๋ฆฌ ์์ฐ์๋ 1, 2, 3, 4 ์ ๋๋ค. ๋ฐ๋ผ์ 1 + 2 + 3 + 4 = 10 ์ returnํฉ๋๋ค.
์ ์ถ๋ ฅ ์ #2
- "1a2b3c4d123Z"์์ ํ์๋ฆฌ ์์ฐ์๋ 1, 2, 3, 4, 1, 2, 3 ์ ๋๋ค. ๋ฐ๋ผ์ 1 + 2 + 3 + 4 + 1 + 2 + 3 = 16 ์ returnํฉ๋๋ค.
์ ์์ฌํญ
- ์ฐ์๋ ์ซ์๋ ๊ฐ๊ฐ ํ ์๋ฆฌ ์ซ์๋ก ์ทจ๊ธํฉ๋๋ค.
๐กํ์ด
โญ์ ์ถ ์ฝ๋
class Solution {
public int solution(String my_string) {
char[] ch = my_string.toCharArray(); //toCharArray()๋ก ๋ฌธ์์ด์ ํ ๊ธ์์ฉ ์ชผ๊ฐ์ ๋ฐฐ์ด์ ์ ์ฅ
String str = "";
// ASCII์ฝ๋ ๊ฐ(1~9 -> 49~57)์ผ๋ก ์ซ์์ธ ๋ฌธ์๋ง ๊ณจ๋ผ์ str์ ์ ์ฅ
for(int i=0; i<ch.length; i++){
if(49<=ch[i] && ch[i]<=57){
str += ch[i];
}
}
// str๋ฌธ์์ด์ split์ผ๋ก ๋ถ๋ฆฌํ ํ answer์ ๋ํจ
int answer = 0;
String[] str_arr = str.split("");
for(int i=0; i<str_arr.length; i++){
answer += Integer.parseInt(str_arr[i]);
}
return answer;
}
}
๐ ์ฝ๋ ํด์
1. toCharArray() ๋ฉ์๋๋ฅผ ํ์ฉํ์ฌ ์ ๋ ฅ๊ฐ(my_string)์ ํ ๊ธ์์ฉ ์ชผ๊ฐ์ด char ๋ฐฐ์ด์ ์ ์ฅํ๋ค.
2. ์ซ์ 1~9์ ASCII ์ฝ๋ ๊ฐ์ 49~57์ด๋ค.
๋ฐ๋ผ์, ๋ฐฐ์ด(ch)์ ๊ฐ ๊ฐ๊ณผ ASCII ์ฝ๋ ๊ฐ(49~57)์ ๋น๊ตํ์ฌ ์ผ์นํ๋ค๋ฉด ๋ฌธ์์ด str์ ๋ฃ์ด์ค๋ค.
3. str ๋ฌธ์์ด์ split() ๋ฉ์๋๋ฅผ ํ์ฉํด ๋ถ๋ฆฌํ ํ answer์ ๋ํด์ค๋ค.
(** ์ด๋, ๋ถ๋ฆฌํ ๋ฐฐ์ด์ ๊ฐ๋ค์ String ํ์ ์ด๋ฏ๋ก int๋ก ๊ฐ์ ํ๋ณํ ์์ผ์ค๋ค!)
* ์ฌ๊ธฐ์์ toCharArray()๋ ๋ฌธ์์ด์ ํ ๊ธ์์ฉ ์ชผ๊ฐ char ํ์ ์ ๋ฐฐ์ด์ ๋ฃ์ด ๋ฐํํด์ฃผ๋ ๋ฉ์๋์ด๋ค.
'๐ Algorithm > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Programmers] ์๋ ์ซ์ ๋ํ๊ธฐ(์๋ฐ) (0) | 2023.04.04 |
---|---|
[Programmers] ์ค๋ณต๋ ๋ฌธ์ ์ ๊ฑฐ(์๋ฐ) (0) | 2023.04.01 |
[Programmers] ์์ธ์๋ถํด(์๋ฐ) (0) | 2023.04.01 |
[Programmers] 2์ฐจ์์ผ๋ก ๋ง๋ค๊ธฐ(์๋ฐ) (0) | 2023.03.31 |
[Programmers] ๋ชจ์ ์ ๊ฑฐ(์๋ฐ) (0) | 2023.03.30 |