์ฒด๊ฐ Level : โ
โ
โ Review: ์ ๊ทํํ์์ผ๋ก ์์ฑํ๋ฉด ์ ๋ง ์ฌ์ด ์ฝ๋๊ณ , ์ฌ์ฉํ์ง ์๊ณ ํ๋ค๋ฉด ๋์ด๋๊ฐ ์๋ค ใ ใ |
๐ก my_string์ ์๋ฌธ์, ๋๋ฌธ์, ์์ฐ์๋ก๋ง ๊ตฌ์ฑ๋์ด์์ต๋๋ค. my_string์์ ์์ฐ์๋ค์ ํฉ
์ ๊ท์์ ์ด์ฉํด์ ๋ฌธ์์ด์ ์๋ผ์ ํ์๋ค!
๐ฌ[A-z] :: ์ ๊ท ํํ์ [A-z]๋ ์ํ๋ฒณ ๋์๋ฌธ์
class Solution {
public int solution(String my_string) {
int answer = 0;
String [] str = my_string.split("[A-z]");
for(int i = 0; i < str.length; i++){
if (!str[i].isEmpty())
answer += Integer.parseInt(str[i]);
}
return answer;
}
}
[ํฌ๊ธฐ]
๋ฌธ์ ํ๋์ฉ ๋ฐ์์ ๋ณํํ๋ ์ฝ๋๋ฅผ ์์ฑํ๋ ค๊ณ ํ๋ค.
์ซ์๊ฐ ์ฐ์๋ ๊ฒฝ์ฐ flag ๋ฅผ ํตํด์ ์ ์ดํด๋ณด๋ ค๊ณ ํ๋๋ฐ ๋๋ฌด ์ฝ๋๊ฐ ๋ณต์กํด์ง๊ณ
๋จธ๋ฆฌ๊ฐ ์๋์๊ฐ์ ํฌ๊ธฐํ๋ค.
class Solution {
public String solution(String my_string) {
int answer = 0, tmp =0;
int flag = 0, flag2 = 0;
String now = "", prev1 = "";
// ์ฐ์ ๋ ๋=
for(int i = 0; i < my_string.length(); i++){
if (48 <= my_string.charAt(i) && my_string.charAt(i) <= 57){
prev1 += my_string.charAt(i);
tmp += (int) my_string.charAt(i) - 48;
flag += 1;
} else{
if (flag <= 1){
//now += prev1;
answer += tmp;
flag = 0;
tmp = 0;
//prev1 = "";
}else{
now += prev1;
}
}
}
return now;
}
}
[์ฐธ๊ณ ]
์ข์ ์ฝ๋๋ฅผ ๊ฐ์ ธ์๋ค
1) if ์ซ์๊ฐ ์๋๋ผ
if ) number ๊ธธ์ด๊ฐ 0 ์ด๋ฉด ๋ค์ ๋ฐ๋ณต
else ) number ๊ธธ์ด๊ฐ 0 ์ด์๋๋ฉด , number ๊ฐ ๋ณํํด์ ๋ฐํ ํ number ์ด๊ธฐํ
2) else ์ซ์๋ฉด
if ) ๋ง์ง๋ง ๋ฐ๋ณต์ด๋ฉด, number ์ ๊ฐ ๋์ , ๋ณํ ํ ๋ฐํ.
else ) ๋ง์ง๋ง ๋ฐ๋ณต์ด ์๋๋ฉด number ์ ๊ฐ ๋์ ํ ๋ค์ ๋ฐ๋ณต.
class Solution {
public int solution(String my_string) {
int answer = 0;
String number = "";
for (int i = 0; i < my_string.length(); i++) {
int num = (int)my_string.charAt(i);
if ((num >= 65 && num <= 90) || (num >= 97 && num <= 122)) {
if (number.length() == 0) continue;
else { answer += Integer.parseInt(number); number = ""; }
} else {
if (i == my_string.length() - 1)
{
number += my_string.charAt(i) + "";
answer += Integer.parseInt(number); }
else number += my_string.charAt(i) + "";
}
}
return answer;
}
}