๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm/Algorithm(Theory)

[๋ฌธ์ž์—ด_2ํŽธ] ๋ฌธ์ž์—ด ↔ ์ˆซ์ž ํ˜•๋ณ€ํ™˜

by _silver 2026. 2. 24.
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