๋ฌธ์ ๋ฅผ ํธ๋ ๋์ค ์ ์์ ๊ธธ์ด๋ฅผ ๊ตฌํด์ผ ํ๋ ๋ถ๋ถ์ด ์์์ต๋๋ค.
๋ฐฉ๋ฒ์ ๋ค์ํ๊ฒ ์์ ๊ฒ ๊ฐ์ต๋๋ค. ํจ์จ์ ์ธ ๋ฐฉ๋ฒ๋ถํฐ ์์ฃผ ๋นํจ์จ์ ์ธ ๋ฐฉ๋ฒ๊น์ง..
String์ ๊ธธ์ด๋ฅผ ๊ตฌํ ๋๋ ๊ฐ๋จํ๊ฒ length() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋์ง๋ง, ์ ์๋ ์ฝ๊ฐ ๋ค๋ฅธ ๋ฐฉ์์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
๊ทธ ์ค์์ ๊ฐ์ฅ ๊ฐ๋จํ ๋ฐฉ๋ฒ ๋ ๊ฐ์ง๋ฅผ ํฌ์คํ ํด๋ด ๋๋ค.
1. Math.log() ๋ฉ์๋ ์ด์ฉ : (int)(Math.log10(num)+1)
๊ฒฐ๋ก ๋ถํฐ ๋งํ์๋ฉด
(int)(Math.log10(num)+1)์์ num์ ์๋ฆฟ์๋ฅผ ๊ตฌํ๊ณ ์ ํ๋ ์ซ์๋ฅผ ๋ฃ์ผ๋ฉด ๋ฉ๋๋ค. ์ฐธ๊ณ ๋ก num์ ์์ ๋๋ 0์ ๋์ ํ ์ ์์ผ๋ ์ํ๋ ๊ฐ์ด ๋์ค์ง ์์ ๊ฒ์ ๋๋ค.
์๋ฅผ ๋ค์ด, int(Math.log10(32)+1)์ ํ๋ฉด 2๊ฐ ๋ฆฌํด๋ ๊ฒ์ ๋๋ค. 32๋ ๋ ์๋ฆฌ ์ ์์ด๋๊น์.
Math.log() ๋ฉ์๋๋ ๋ฐ์ด ์์ฐ์์ e์ธ ๋ก๊ทธ๋ฅผ ๋ฐํํ๊ณ , Math.log10() ๋ฉ์๋๋ ๋ฐ์ด 10์ธ ์์ฉ๋ก๊ทธ๋ฅผ ๋ฐํํฉ๋๋ค.
์ด๋ฐ ๋์ ๊ด๊ณ๊ฐ ์ฑ๋ฆฝํ๊ธฐ ๋๋ฌธ์ Math.log(32)๋ 1๊ณผ 2 ์ฌ์ด์ ์ค์๊ฐ ๋๊ณ , ๊ฑฐ๊ธฐ์ +1์ ํ๋ฉด 2์ 3 ์ฌ์ด์ ์ค์๊ฐ ๋ฉ๋๋ค. ์ด๋ฅผ int๋ก ํ๋ณํํ๋ฉด ์์ซ์ ๊ฐ์ด ์ ์ญ๋์ด ํด๋น ๊ฐ์ 2๊ฐ ๋ฉ๋๋ค.
2. int → Integer → String ํ ๋ณํ ํ length() ์ฌ์ฉ : ((Integer)x).toString().length()
x์ ์ํ๋ ๊ฐ์ ๋ฃ์ผ๋ฉด ๋ฉ๋๋ค.
์๋ฅผ ๋ค์ด, ((Integer)32).toString().length() ๋ผ๊ณ ์ฌ์ฉํ๋ฉด 2๊ฐ ๋ฐํ๋ ๊ฒ์ ๋๋ค.
์ ์ํ์ธ 32๋ฅผ Object์ธ Integer๋ก ๋ฐ๊พธ๊ณ String์ผ๋ก ๋ฐ๊พผ ํ length() ๋ฉ์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.
'๐ปStudy > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๊ณ ๋ฆฌ์ฆ] ์ค๋ ๊ตฌํ๊ธฐ (0) | 2020.08.12 |
---|---|
[์๊ณ ๋ฆฌ์ฆ] ์์ ๊ตฌํ๊ธฐ(3) - ์๋ผํ ์คํ ๋ค์ค์ ์ ๊ทผ (0) | 2020.08.05 |
[์๊ณ ๋ฆฌ์ฆ] ์์ ๊ตฌํ๊ธฐ(2) - ์๋ผํ ์คํ ๋ค์ค์ ์ฒด (4) | 2020.08.05 |
[์๊ณ ๋ฆฌ์ฆ] ์์ ๊ตฌํ๊ธฐ(1) (0) | 2020.08.05 |
String.format๊ณผ System.out.printf (0) | 2020.08.04 |