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

Algorithm

[SW Expert Academy] #1986. ์ง€๊ทธ์žฌ๊ทธ ์ˆซ์ž - Python

1. ๋ฌธ์ œ

1๋ถ€ํ„ฐ N๊นŒ์ง€์˜ ์ˆซ์ž์—์„œ ํ™€์ˆ˜๋Š” ๋”ํ•˜๊ณ  ์ง์ˆ˜๋Š” ๋บ์„ ๋•Œ ์ตœ์ข… ๋ˆ„์ ๋œ ๊ฐ’์„ ๊ตฌํ•ด๋ณด์ž.


[์˜ˆ์ œ ํ’€์ด]

N์ด 5์ผ ๊ฒฝ์šฐ,

1 – 2 + 3 – 4 + 5 = 3

N์ด 6์ผ ๊ฒฝ์šฐ,

1 – 2 + 3 – 4 + 5 – 6 = -3


[์ œ์•ฝ์‚ฌํ•ญ]

N์€ 1 ์ด์ƒ 10 ์ดํ•˜์˜ ์ •์ˆ˜์ด๋‹ค. (1 ≤ N ≤ 10)


[์ž…๋ ฅ]

๊ฐ€์žฅ ์ฒซ ์ค„์—๋Š” ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ T๊ฐ€ ์ฃผ์–ด์ง€๊ณ , ๊ทธ ์•„๋ž˜๋กœ ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.

๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์—๋Š” N์ด ์ฃผ์–ด์ง„๋‹ค.


2
5
6

[์ถœ๋ ฅ]

๊ฐ ์ค„์€ '#t'๋กœ ์‹œ์ž‘ํ•˜๊ณ , ๊ณต๋ฐฑ์„ ํ•œ ์นธ ๋‘” ๋‹ค์Œ ๋ˆ„์ ๋œ ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.

(t๋Š” ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๋ฒˆํ˜ธ๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค.)

 

์ถœ๋ ฅ#1 3
#2 -3

 

 

 

 

2. ์†Œ์Šค์ฝ”๋“œ

a = int(input()) 
for i in range(1,a+1): 
    b = int(input()) 
    c = 0 
    for j in range(1, b+1): 
        if j%2 ==0: 
            c -=j 
        else: 
            c +=j 
    print('#%d' %i,c)

 

 

 

3.์†Œ์Šค์ฝ”๋“œ ์„ค๋ช…

๋ณ€์ˆ˜a์— test case์˜ ๊ฐฏ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค.
a์—์„œ ์ž…๋ ฅ๋ฐ›์€ test case ๊ฐฏ์ˆ˜๋งŒํผ testcase๋ฅผ ๋ณ€์ˆ˜b์— ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค.
์ด๋ฅผ ์œ„ํ•ด for๋ฌธ์„ ํ†ตํ•ด 1๋ถ€ํ„ฐ a๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค.

๋ณ€์ˆ˜b๋Š” ๋ฌธ์ œ์—์„œ N์— ํ•ด๋‹นํ•˜๋ฉฐ,
๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ์œ„ํ•ด์„œ๋Š” 1๋ถ€ํ„ฐ N๊นŒ์ง€ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•ด์•ผํ•œ๋‹ค.
์—ฐ์‚ฐ ์ˆ˜ํ–‰๊ณผ์ •์—์„œ, 1๋ถ€ํ„ฐ N๊นŒ์ง€ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆ˜๋ฅผ j๋ผ๊ณ  ๋‘๊ณ ,
์ฒ˜์Œ์— 0์ด์—ˆ๋˜ ๋ณ€์ˆ˜c์— j๊ฐ€ ์ง์ˆ˜๋ฉด (-)์—ฐ์‚ฐ, ํ™€์ˆ˜๋ฉด (+)์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ณ ,
์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•  ๋•Œ๋งˆ๋‹ค c์— ์ƒˆ๋กญ๊ฒŒ ์ €์žฅํ•ด๋‘”๋‹ค.
์ด๋ฅผ for๋ฌธ์„ ํ†ตํ•ด 1๋ถ€ํ„ฐ b๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค.
์ฒซ๋ฒˆ์งธ testcase๋ฅผ N๊นŒ์ง€ for๋ฌธ์„ ๋Œ๊ณ ๋‚˜๋ฉด, ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•ด์ค€๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๊ทธ ๋‹ค์Œ testcase๋ฅผ ์ƒˆ๋กญ๊ฒŒ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด, 
๋‘ ๋ฒˆ์งธ for๋ฌธ ์•ž์—์„œ ๋ณ€์ˆ˜ c๋ฅผ 0์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•ด์ค€๋‹ค.

์ฒ˜์Œ์— ์ž…๋ ฅ๋ฐ›์€ ๋งŒํผ testcase๋ฅผ ๋ชจ๋‘ ์ˆ˜ํ–‰ํ•˜๊ณ ๋‚˜๋ฉด ์ˆ˜ํ–‰์„ ๋งˆ์นœ๋‹ค.