๋ฌธ์ ์ค๋ช
https://school.programmers.co.kr/learn/courses/30/lessons/12925
๋ฌธ์์ด s๋ฅผ ์ซ์๋ก ๋ณํํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ ํจ์, solution์ ์์ฑํ์ธ์.
์ ํ ์ฌํญ
- s์ ๊ธธ์ด๋ 1 ์ด์ 5 ์ดํ์ ๋๋ค.
- s์ ๋งจ ์์๋ ๋ถํธ(+, -)๊ฐ ์ฌ ์ ์์ต๋๋ค.
- s๋ ๋ถํธ์ ์ซ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- s๋ "0"์ผ๋ก ์์ํ์ง ์์ต๋๋ค.
์ ์ถ๋ ฅ ์
์๋ฅผ ๋ค์ด str์ด "1234"์ด๋ฉด 1234๋ฅผ ๋ฐํํ๊ณ , "-1234"์ด๋ฉด -1234๋ฅผ ๋ฐํํ๋ฉด ๋ฉ๋๋ค.
str์ ๋ถํธ(+, -)์ ์ซ์๋ก๋ง ๊ตฌ์ฑ๋์ด ์๊ณ , ์๋ชป๋ ๊ฐ์ด ์
๋ ฅ๋๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค.
๋ด๊ฐ ์์ฑํ ์ฝ๋
class Solution {
public int solution(String s) {
int answer = 0;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == '+' || s.charAt(i) == '-') {
continue;
} else {
answer = answer * 10 + (s.charAt(i) - '0');
}
}
if (s.charAt(0) == '+' || s.charAt(0) == '-') {
char pm = s.charAt(0);
if (pm == '-') {
answer = answer * (-1);
} else {
answer = answer;
}
}
return answer;
}
}
์ฝ๋ ์ค๋ช
๋ฐ๋ณต๋ฌธ์ ํตํด์ ๋ฌธ์ ํ๋ํ๋๋ฅผ ์ ์๋ก ๋ฐ๊ฟ์ฃผ์๋ค.
if (s.charAt(i) == '+' || s.charAt(i) == '-') { continue }
์ซ์ ์์ ๋ถํธ๊ฐ ๋ถ์ ์๋ ์๋ค๋ ์ ์ ๊ฐ์ํ์ฌ ์กฐ๊ฑด๋ฌธ์ ์ฌ์ฉํ๋ค.
charAt(i)์ ์ฌ์ฉํ ๊ฒฝ์ฐ char ํ์
์ผ๋ก ์ถ๋ ฅ๋๋ ๊ฒ์ ์๊ฐํ๊ณ ์์๋ฐ์ดํ('')๋ฅผ ์ด์ฉํด์ ์ฒซ ๋ฒ์งธ ๋ฌธ์๊ฐ '+' ๋๋ '-'์ผ ๊ฒฝ์ฐ continue๋ฅผ ํตํด ๋ค์ ์ธ๋ฑ์ค์ ๋ฌธ์๋ก ๋์ด๊ฐ๋๋ก ์ฝ๋๋ฅผ ์์ฑํ๋ค.
answer = answer * 10 + (s.charAt(i) - '0')
charAt(i)๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ i๋ฒ์งธ ์ธ๋ฑ์ค์ ์๋ ๋ฌธ์๋ฅผ char ํ์
์ผ๋ก ๊ฐ์ ธ์จ๋ค.
ํ์ง๋ง int ํ์
์ผ๋ก ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํด์ผ ํ๊ธฐ ๋๋ฌธ์ int ํ์
์ผ๋ก ๋ฐ๊ฟจ์ ๋ ASCII ์ฝ๋ ๊ฐ์ผ๋ก ๊ณ์ฐ๋๋ค๋ ์ ์ ์๊ฐํด์ผ ํ๋ค. ASCII ์ฝ๋๋ก ๊ณ์ฐํ ๊ฒ์ ์๊ฐํ๊ณ ๋ค์ - '0'์ ๋ถ์ฌ์ ์ํ๋ int ํ์
์ ๊ฐ์ ์ป์ ์ ์๋ค.
๋ํ ์์ฐจ์ ์ผ๋ก ๊ฐ์ด ๋ค์ด๊ฐ ์ ์๋๋ก answer * 10์ ํตํด ๊ฐ์ 10 ๋จ์์ฉ ์ฆ๊ฐํ๊ณ 1์ ์๋ฆฌ์ i๋ฒ์งธ ์ธ๋ฑ์ค์ ๊ฐ์ ์
๋ ฅํ๋ค.
๋ฐ๋ณต๋ฌธ์ด ์ข
๋ฃ๋๊ณ ๋ ํ ๋ฌธ์์ด์ ๊ฐ์ฅ ์ฒซ ๋ฒ์งธ ๋ฌธ์๋ฅผ ํ์ธํด์ '+' ๋๋ '-'์ผ ๊ฒฝ์ฐ์ ์กฐ๊ฑด๋ฌธ์ ์ฌ์ฉํ๋ค.
if (s.charAt(0) == '+' || s.charAt(0) == '-') { char pm = s.charAt(0); }
0๋ฒ์งธ ์ธ๋ฑ์ค์ ๋ฌธ์๊ฐ '+', '-' ๋ถํธ์ผ ๊ฒฝ์ฐ char ํ์
์ pm์ ๊ฐ์ ์
๋ ฅํ๋ค.
๋ณ์ pm์ ์ ์ฅ๋ ๊ฐ์ด '+'์ผ ๊ฒฝ์ฐ์๋ answer ๊ฐ์ด ๊ทธ๋๋ก ์ถ๋ ฅ, '-'์ผ ๊ฒฝ์ฐ์๋ answer * (-1)๋ฅผ ํตํด ์์ ๊ฐ์ผ๋ก ์ถ๋ ฅ๋๋ค.
'๐งฉ ํ๋ก๊ทธ๋๋จธ์ค > ๐ต ์๊ณ ๋ฆฌ์ฆ ํ์ด(Java)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ ์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐฐ์นํ๊ธฐ (0) | 2024.11.07 |
---|---|
์ ์ ์ ๊ณฑ๊ทผ ํ๋ณ (0) | 2024.11.06 |
์์ฐ์ ๋ค์ง์ด ๋ฐฐ์ด๋ก ๋ง๋ค๊ธฐ (0) | 2024.11.03 |
x๋งํผ ๊ฐ๊ฒฉ์ด ์๋ n๊ฐ์ ์ซ์ (0) | 2024.11.03 |
๋๋จธ์ง๊ฐ 1์ด ๋๋ ์ ์ฐพ๊ธฐ (2) | 2024.11.02 |