๐Ÿ“’  ๋ฌธ์ œ ์ •๋ณด

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์Œ์–‘ ๋”ํ•˜๊ธฐ

์–ด๋–ค ์ •์ˆ˜๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ •์ˆ˜๋“ค์˜ ์ ˆ๋Œ“๊ฐ’์„ ์ฐจ๋ก€๋Œ€๋กœ ๋‹ด์€ ์ •์ˆ˜ ๋ฐฐ์—ด absolutes์™€ ์ด ์ •์ˆ˜๋“ค์˜ ๋ถ€ํ˜ธ๋ฅผ ์ฐจ๋ก€๋Œ€๋กœ ๋‹ด์€ ๋ถˆ๋ฆฌ์–ธ ๋ฐฐ์—ด signs๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ์‹ค์ œ ์ •์ˆ˜๋“ค์˜ ํ•ฉ์„ ๊ตฌํ•˜์—ฌ re

programmers.co.kr

 

 

๐Ÿ”’  ๋ฌธ์ œ ์„ค๋ช…

๋”๋ณด๊ธฐ

๋ฌธ์ œ ์„ค๋ช…

์–ด๋–ค ์ •์ˆ˜๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ •์ˆ˜๋“ค์˜ ์ ˆ๋Œ“๊ฐ’์„ ์ฐจ๋ก€๋Œ€๋กœ ๋‹ด์€ ์ •์ˆ˜ ๋ฐฐ์—ด absolutes์™€ ์ด ์ •์ˆ˜๋“ค์˜ ๋ถ€ํ˜ธ๋ฅผ ์ฐจ๋ก€๋Œ€๋กœ ๋‹ด์€ ๋ถˆ๋ฆฌ์–ธ ๋ฐฐ์—ด signs๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ์‹ค์ œ ์ •์ˆ˜๋“ค์˜ ํ•ฉ์„ ๊ตฌํ•˜์—ฌ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.


์ œํ•œ ์‚ฌํ•ญ

  • absolutes์˜ ๊ธธ์ด๋Š” 1 ์ด์ƒ 1,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค.
    • absolutes์˜ ๋ชจ๋“  ์ˆ˜๋Š” ๊ฐ๊ฐ 1 ์ด์ƒ 1,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค.
  • signs์˜ ๊ธธ์ด๋Š” absolutes์˜ ๊ธธ์ด์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.
    • signs[i] ๊ฐ€ ์ฐธ์ด๋ฉด absolutes[i] ์˜ ์‹ค์ œ ์ •์ˆ˜๊ฐ€ ์–‘์ˆ˜์ž„์„, ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์Œ์ˆ˜์ž„์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

absolutes signs result
[4,7,12] [true,false,true] 9
[1,2,3] [false,false,true] 0

 

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

์ž…์ถœ๋ ฅ ์˜ˆ #1

  • signs๊ฐ€ [true,false,true] ์ด๋ฏ€๋กœ, ์‹ค์ œ ์ˆ˜๋“ค์˜ ๊ฐ’์€ ๊ฐ๊ฐ 4, -7, 12์ž…๋‹ˆ๋‹ค.
  • ๋”ฐ๋ผ์„œ ์„ธ ์ˆ˜์˜ ํ•ฉ์ธ 9๋ฅผ return ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #2

  • signs๊ฐ€ [false,false,true] ์ด๋ฏ€๋กœ, ์‹ค์ œ ์ˆ˜๋“ค์˜ ๊ฐ’์€ ๊ฐ๊ฐ -1, -2, 3์ž…๋‹ˆ๋‹ค.
  • ๋”ฐ๋ผ์„œ ์„ธ ์ˆ˜์˜ ํ•ฉ์ธ 0์„ return ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

 

๐Ÿ”‘  ๋ฌธ์ œ ํ’€์ด

๋ฐฉ๋ฒ• 1. ๋‹จ์ˆœํžˆ ๋ฐ˜๋ณต๋ฌธ ํ™œ์šฉ

def solution(absolutes, signs):
    answer = 0

    for i in range(len(absolutes)):
        if signs[i]:
            answer += absolutes[i]
        else:
            answer -= absolutes[i]
    return answer

 

๋ฐฉ๋ฒ• 2. zip ํ•จ์ˆ˜ ํ™œ์šฉ

zip() ํ•จ์ˆ˜ ๋ฐ sum(a if b else a') ํ•จ์ˆ˜ ๋“ฑ์„ ํ™œ์šฉํ•˜์—ฌ ๋…ผ๋ฆฌ ๊ทธ๋Œ€๋กœ ํ›จ์”ฌ ๊ฐ„๋‹จํ•˜๊ณ  ์ง๊ด€์ ์œผ๋กœ ํ‘ผ ํ’€์ด ์—ญ์‹œ ์ฒจ๋ถ€ํ•œ๋‹ค.

def solution(absolutes, signs):
    return sum(absolutes if sign else -absolutes for absolutes, signs in zip(absolutes, signs))

 

 

 

๐Ÿ’ก  What I learned

  1. ์ €๋ฒˆ ํฌ์ŠคํŒ…์—์„œ ์•Œ๊ฒŒ ๋œ zip() ํ•จ์ˆ˜์˜ ํ™œ์šฉ๋ฒ•
  2. ํ•จ์ˆ˜ (sum()) ์•ˆ์—์„œ์˜ ์กฐ๊ฑด๋ฌธ ๋ฐ ๋ฐ˜๋ณต๋ฌธ์ด ํ™œ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์ !!

BELATED ARTICLES

more