๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“ Basic study/Baekjoon

[๋ฐฑ์ค€][Python] 5355๋ฒˆ ํ™”์„ฑ ์ˆ˜ํ•™

by Sun A 2024. 6. 8.

๋ฌธ์ œ

https://www.acmicpc.net/problem/5355 

๋ฌธ์ œ ํ’€์ด : T๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ๋ช‡ ๋ฒˆ์˜ ํ™”์„ฑ ์‹์„ ์ง„ํ–‰ํ•  ๊ฑด์ง€ ๊ฒฐ์ •ํ•œ๋‹ค.

ํ™”์„ฑ ์‹์˜ ๊ฐ€์žฅ ์•ž์€ ์ˆ˜๋กœ ์‹œ์ž‘ํ•˜๊ณ  ๊ทธ ๋’ค์— ์—ฐ์‚ฐ์ž๊ฐ€ ์˜ค๋ฉฐ ์—ฐ์‚ฐ์ž๋Š” ์ตœ๋Œ€ 3๊ฐœ ์ฃผ์–ด์ง„๋‹ค.

(์ฃผ์–ด์ง€๋Š” ์ˆ˜๋Š” ์ •์ˆ˜์ด๊ฑฐ๋‚˜ ์†Œ์ˆ˜ ์ฒซ์งธ ์ž๋ฆฌ๊นŒ์ง€ ๊ฐ€๋Šฅํ•˜๋‹ค.)

- ์ •๋‹ต์€ ์†Œ์ˆ˜์  ๋‘˜์งธ ์ž๋ฆฌ๊นŒ์ง€ ์ถœ๋ ฅํ•œ๋‹ค.

 

์ •๋‹ต ํ’€์ด

  • ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ T๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค.
T = int(input())

 

  • for ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ 'T' ํšŸ์ˆ˜๋งŒํผ ๋ฐ˜๋ณตํ•˜๋„๋ก ์ž…๋ ฅํ•œ๋‹ค.
for i in range(T) :

 

  • ๋ฌธ์ž์—ด(str)์„ ์ž…๋ ฅ๋ฐ›์•„ ๊ณต๋ฐฑ(split)์„ ๊ธฐ์ค€์œผ๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ(list)๋กœ ๋งŒ๋“ ๋‹ค.  
M = list(map(str, input().split()))
  • 'map(str, ...)' ์„ ํ†ตํ•ด ๋ฆฌ์ŠคํŠธ์˜ ๊ฐ ์š”์†Œ๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•œ ํ›„, 'list()'๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์‹œ ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ๋กœ ์ €์žฅํ•œ๋‹ค.

 

  • ๋งŒ๋“ค์–ด ์ง„ 'M' ๋ฆฌ์ŠคํŠธ์˜ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๋Š” ์ˆ˜๋กœ ์ž‘์„ฑํ•˜๋ผ๊ณ  ํ•˜์˜€๊ธฐ ๋•Œ๋ฌธ์— ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ž๋Š” ํ•จ์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋‚˜์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค.
R = float(M[0])

 

  • ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ž์— ์ˆซ์ž๊ฐ€ ๋ณ€ํ™˜๋œ ์ดํ›„ ๋’ค๋Š” ๋‹ค ์—ฐ์‚ฐ์ž์ด๊ธฐ ๋•Œ๋ฌธ์— ์ž…๋ ฅํ•œ 'M'์˜ ๋‘ ๋ฒˆ์งธ ์š”์†Œ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ์š”์†Œ๊นŒ์ง€ for์„ ํ™œ์šฉํ•˜์—ฌ ๋ฐ˜๋ณตํ•œ๋‹ค.
    for i in range(1, len(M)) :
        if M[i] == '@' :
            R *= 3
        if M[i] == '%' :
            R += 5
        if M[i] == '#' :
            R -= 7

 

  • ์ตœ์ข… 'R'์„ ์ถœ๋ ฅํ•  ๋•Œ๋Š” ์†Œ์ˆ˜์  ๋‘˜์งธ ์ž๋ฆฌ๊นŒ์ง€ ์ถœ๋ ฅํ•˜์—ฌ์•ผ ํ•œ๋‹ค.
print('{:.2f}'.format(R))



์ •๋‹ต

T = int(input())
for i in range(T) :
    M = list(map(str, input().split()))
    R = float(M[0])
    for i in range(1, len(M)) :
        if M[i] == '@' :
            R *= 3
        if M[i] == '%' :
            R += 5
        if M[i] == '#' :
            R -= 7
    print('{:.2f}'.format(R))