1ํธ) ๋ฌธ์์ด ๊ธฐ์ด
๐ ๋ชฉ์
: ํ๋ณํ ๊ณผ์ ์์ ์์ฃผ ํท๊ฐ๋ฆฌ๋ ๊ฐ๋ ๊ณผ ์ซ์ ๊ฒ์ฆ ๋ฐฉ์์ ์ ๋ฆฌํ๊ณ , ์ฝ๋ฉํ ์คํธ์์ ๋ฐ๋ก ์ ์ฉํ ์ ์๋ ์ค์ ํจํด์ผ๋ก ์ ๋ฆฌํ๊ณ ์ ํ๋ค.
โ ๋ฌธ์์ด → ์ ์ ๋ณํ
โ Integer.parseInt()
• ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ!
• ๋ฐํ ํ์ : int
• ๋ด๋ถ์ ์ผ๋ก ๋ฌธ์์ด์ ์ซ์๋ก ํ์ฑ
String str = "1234";
int num = Integer.parseInt(str);
System.out.println(num); // 1234
โ ์์ธ ๋ฐ์ : NumberFormatException ๋ฐ์
String str = "1234test";
int num = Integer.parseInt(str);
// ์์ธ ๋ฐ์
Exception in thread "main" java.lang.NumberFormatException: For input string: "1234test"
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67)
at java.base/java.lang.Integer.parseInt(Integer.java:668)
at java.base/java.lang.Integer.valueOf(Integer.java:999)
at algorithm.NumbersToString.main(NumbersToString.java:6)
โ Integer.valueOf() ์ฐจ์ด
String str = "1234";
int num = Integer.valueOf(str);
โ ๋ฐํ ํ์
: Integer (๊ฐ์ฒด)
โ ์คํ ๋ฐ์ฑ์ผ๋ก int์ฒ๋ผ ์ฌ์ฉ ๊ฐ๋ฅ
โ parseInt vs valueOf ์ฐจ์ด
| ๋ฉ์๋ | ๋ฐํ ํ์ |
| parseInt | int |
| valueOf | Integer |
โ ๋ฌธ์์ด์ด ์ซ์์ธ์ง ๊ฒ์ฌํ๋ ๋ฐฉ๋ฒ
โ๏ธ ๊ด๋ จ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ (์ถ์ฒ: ํ๋ก๊ทธ๋๋จธ์ค)
โ ๋ฐฉ๋ฒ 1 : try-catch ๋ฐฉ์
try {
Integer.parseInt(s);
return true;
} catch (NumberFormatException e) {
return false;
}
โ ๋ฌธ์ ์
"-1234" // ํต๊ณผ
"+1234" // ํต๊ณผ
โ ๋ฐฉ๋ฒ 2 : Character.isDigit() ์ฌ์ฉ
• ๋ถํธ ํ์ฉ ์ ๋จ
• ๋ช
ํํ ์ซ์ ๊ฒ์ฆ
• ์๊ฐ๋ณต์ก๋ O(n)
for (int i = 0; i < s.length(); i++) {
if (!Character.isDigit(s.charAt(i))) {
return false;
}
}
return true;
โ ๋ฌธ์ → ์ซ์ ๋ณํ (์์คํค ์ฝ๋ ํ์ฉ)
char c = '7';
int num = c - '0'; // 7
โ ์ ์ → ๋ฌธ์์ด ๋ณํ
โ String.valueOf()
int num = 10;
String s = String.valueOf(num);
โ Integer.toString()
String s = Integer.toString(num);
โ ์ต์ข ์ ๋ฆฌ
โฎparseInt๋ ์ซ์ ๋ณํ
โฎ์ซ์ ๊ฒ์ฆ์ isDigit
โฎchar → ์ซ์๋ c - '0'
โฎnull ์์ ์ฑ์ valueOf
'Algorithm > Algorithm(Theory)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [JAVA] ์ฝ๋ฉํ ์คํธ ๋ฌธ๋ฒ ์ ๋ฆฌ (0) | 2026.02.25 |
|---|---|
| [๋ฌธ์์ด_3ํธ] Character ์ฃผ์ ๋ฉ์๋ ์ ๋ฆฌ (0) | 2026.02.25 |
| [๋ฌธ์์ด_1ํธ] ๋ฌธ์์ด ๊ธฐ์ด (0) | 2026.02.24 |
| [Greedy] ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ (0) | 2026.01.16 |