[programmers] ๋‘ ์ˆ˜์˜ ํ•ฉ - Java

๋‘ ๊ฐœ์˜ ๋ฌธ์ž์—ด ํ˜•ํƒœ์˜ ์ •์ˆ˜ 'a'์™€ 'b'๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ด๋“ค์˜ ํ•ฉ์„ ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. 'a'์™€ 'b'์˜ ๊ธธ์ด๋Š” ๊ฐ๊ฐ 1 ์ด์ƒ 100,000 ์ดํ•˜์ด๋ฉฐ, ์ˆซ์ž๋กœ๋งŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. 'a'์™€ 'b'๋Š” 0์ด ์•„๋‹ˆ๋ฉด 0์œผ๋กœ ์‹œ์ž‘ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Java์˜ BigDecimal ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆซ์ž๋ฅผ ์ •๋ฐ€ํ•˜๊ฒŒ ๊ณ„์‚ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ํด๋ž˜์Šค์˜ ๋‹จ์ ์€ ๋Š๋ฆฐ ์†๋„์™€ ๊ธฐ๋ณธ ํƒ€์ž…๋ณด๋‹ค ๋ถˆํŽธํ•œ ์‚ฌ์šฉ๋ฒ•์ž…๋‹ˆ๋‹ค.
Jan 20, 2024
[programmers] ๋‘ ์ˆ˜์˜ ํ•ฉ - Java

๋ฌธ์ œ ์„ค๋ช…

0 ์ด์ƒ์˜ ๋‘ ์ •์ˆ˜๊ฐ€ ๋ฌธ์ž์—ด ab๋กœ ์ฃผ์–ด์งˆ ๋•Œ, a + b์˜ ๊ฐ’์„ ๋ฌธ์ž์—ด๋กœ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”.

์ œํ•œ์‚ฌํ•ญ

  • 1 โ‰ค a์˜ ๊ธธ์ด โ‰ค 100,000
  • 1 โ‰ค b์˜ ๊ธธ์ด โ‰ค 100,000
  • a์™€ b๋Š” ์ˆซ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.
  • a์™€ b๋Š” ์ •์ˆ˜ 0์ด ์•„๋‹ˆ๋ผ๋ฉด 0์œผ๋กœ ์‹œ์ž‘ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

a
b
result
"582"
"734"
"1316"
"18446744073709551615"
"287346502836570928366"
"305793246910280479981"
"0"
"0"
"0"

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

์ž…์ถœ๋ ฅ ์˜ˆ #1
  • ์˜ˆ์ œ 1๋ฒˆ์˜ ab๋Š” ๊ฐ๊ฐ 582, 734์ด๊ณ  582 + 734 = 1316์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ "1316"์„ return ํ•ฉ๋‹ˆ๋‹ค.
์ž…์ถœ๋ ฅ ์˜ˆ #2
  • ์˜ˆ์ œ 2๋ฒˆ์˜ ab๋Š” ๊ฐ๊ฐ 18446744073709551615, 287346502836570928366์ด๊ณ  18446744073709551615 + 287346502836570928366 = 305793246910280479981์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ "305793246910280479981"์„ return ํ•ฉ๋‹ˆ๋‹ค.
์ž…์ถœ๋ ฅ ์˜ˆ #3
  • ์˜ˆ์ œ 3๋ฒˆ์˜ ab๋Š” ๊ฐ๊ฐ 0, 0์ด๊ณ  0 + 0 = 0์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ "0"์„ return ํ•ฉ๋‹ˆ๋‹ค.

solution.java

import java.math.*; class Solution { public String solution(String a, String b) { BigDecimal x = new BigDecimal(a); BigDecimal y = new BigDecimal(b); return "" + x.add(y); } }
 

ํ•ต์‹ฌ ํ‚ค์›Œ๋“œ

  • ์˜ˆ์ œ 1๋ฒˆ ๊ฐ™์€ ๊ฒฝ์šฐ int๋‚˜ long์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์œ„ ๋‚ด์˜ ๊ฐ’์ด๋ฏ€๋กœ ์ผ๋ฐ˜์ ์ธ ์—ฐ์‚ฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ํ•˜์ง€๋งŒ ์˜ˆ์ œ 2๋ฒˆ ๊ฐ™์€ ๊ฒฝ์šฐ long์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ’์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚œ๋‹ค.
    • ๋”ฐ๋ผ์„œ Java์—์„œ ์ œ๊ณตํ•˜๋Š” BigDecimal ํด๋ž˜์Šค๋ฅผ ํ†ตํ•ด ์ˆซ์ž๋ฅผ ์ •๋ฐ€ํ•˜๊ฒŒ ๊ณ„์‚ฐํ•ด์•ผ ํ•œ๋‹ค.
    • BigDecimal์˜ ๋‹จ์ ์€ ๋Š๋ฆฐ ์†๋„, ๊ธฐ๋ณธ ํƒ€์ž…๋ณด๋‹ค ๋ถˆํŽธํ•œ ์‚ฌ์šฉ๋ฒ•์ด๋‹ค.
 

๊ฒฐ๋ก !

ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด์„œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋‹ค๊ฐ€ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ’์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚˜๋Š” ์ˆ˜์˜ ๊ณ„์‚ฐ์— ์–ด๋ ค์›€์„ ๊ฒช์—ˆ๊ณ , ์ด๋ฅผ BigDecimal ํด๋ž˜์Šค๋ฅผ ํ†ตํ•ด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.
 
Share article

More articles

See more posts

๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ปDriedPollack's Blog