๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ’ปStudy/Java

์–‘์˜ ์ •์ˆ˜์˜ ๊ธธ์ด ๊ตฌํ•˜๊ธฐ

๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๋„์ค‘ ์ •์ˆ˜์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•ด์•ผ ํ•˜๋Š” ๋ถ€๋ถ„์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋ฐฉ๋ฒ•์€ ๋‹ค์–‘ํ•˜๊ฒŒ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํšจ์œจ์ ์ธ ๋ฐฉ๋ฒ•๋ถ€ํ„ฐ ์•„์ฃผ ๋น„ํšจ์œจ์ ์ธ ๋ฐฉ๋ฒ•๊นŒ์ง€..

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() ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.