๐Ÿงฉ Algorithm/SWEA

[SWEA] 10570. ์ œ๊ณฑ ํŒฐ๋ฆฐ๋“œ๋กฌ ์ˆ˜ (Python/D3)

devCloud 2024. 10. 20. 17:30
728x90

 


[๋ฌธ์ œ ๋งํฌ] ๐Ÿ‘‡

 

SW Expert Academy

SW ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—ญ๋Ÿ‰ ๊ฐ•ํ™”์— ๋„์›€์ด ๋˜๋Š” ๋‹ค์–‘ํ•œ ํ•™์Šต ์ปจํ…์ธ ๋ฅผ ํ™•์ธํ•˜์„ธ์š”!

swexpertacademy.com


 

ํ’€์ด

์ •์ˆ˜ ๋’ค์ง‘๋Š” ๋ฐฉ๋ฒ•

reversed_num = int(str(num)[::-1])
  • ์ •์ˆ˜๋ฅผ str ํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ์Šฌ๋ผ์ด์‹ฑ ํ•œ๋‹ค.
  • ์Šฌ๋ผ์ด์‹ฑ ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ [์‹œ์ž‘:๋:์กฐ๊ฑด] ์„ ๋ช…์‹œํ•˜๋ฉด ๋œ๋‹ค.
  • ์กฐ๊ฑด์— -1์ด ๋“ค์–ด๊ฐ€๋ฉด ๋งจ ๋’ค์—์„œ๋ถ€ํ„ฐ ๋งจ ์•ž ๊ธ€์ž๊นŒ์ง€ ๊ฑฐ๊พธ๋กœ ๋ฌธ์ž์—ด์„ ์Šฌ๋ผ์ด์‹ฑ ํ•œ๋‹ค๋Š” ๋œป์ด๋‹ค.
  • ๋’ค์ง‘์€ ๋ฌธ์ž์—ด์„ ๋‹ค์‹œ intํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

 

์ œ๊ณฑ๊ทผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•

import math
sqrt_num = math.sqrt(num)
  • math ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— sqrt ํ•จ์ˆ˜๊ฐ€ ์กด์žฌํ•œ๋‹ค. ์ด๋Š” ์ œ๊ณฑ๊ทผ ํ•จ์ˆ˜์ด๋‹ค.
  • floatํ˜•์œผ๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  • ๊ตณ์ด ํ•จ์ˆ˜๋ฅผ ์“ฐ์ง€ ์•Š์•„๋„ ์ œ๊ณฑ์„ ํ†ตํ•ด ์ œ๊ณฑ๊ทผ์„ ๊ตฌํ•ด๋„ ๋œ๋‹ค.

 

์˜๋ฏธ์—†๋Š” ์†Œ์ˆ˜์  ๋ฒ„๋ฆฌ๊ธฐ

sqrt_num = "{:g}".format(sqrt_num)
  • sqrt_num์ด 11.0์ด๋ผ๋ฉด ๋’ค์— 0์€ ์˜๋ฏธ ์—†์œผ๋ฏ€๋กœ ๋ฒ„๋ ค์ง„๋‹ค.
  • str ํ˜•์œผ๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

 

Solution

import math
test_case = int(input())
for tc in range(1, test_case + 1):
    a, b = map(int, input().split())
    result = 0

    for i in range(a, b + 1):
        reversed_num = int(str(i)[::-1]) #์ •์ˆ˜ ๋’ค์ง‘๊ธฐ
        sqrt_num = math.sqrt(i)  #์ œ๊ณฑ๊ทผ, sqrt๋Š” floatํ˜•์œผ๋กœ ๋ฐ˜ํ™˜
        sqrt_num = "{:g}".format(sqrt_num) # <class 'str'>  #์†Œ์ˆ˜์  ๋’ค๊ฐ€ 0์ด๋ฉด ๋ฒ„๋ฆฌ๊ธฐ
        reversed_sqrt_num = str(sqrt_num)[::-1] #์ œ๊ณฑ๊ทผ ๋’ค์ง‘๊ธฐ
        if i == reversed_num and sqrt_num == reversed_sqrt_num: #ํŒฐ๋ฆฐ๋“œ๋กฌ ํ™•์ธ
            result += 1

    print("#%d %s" % (tc, result))

 

 

๐Ÿ‘ฉ‍๐Ÿ’ป ํšŒ๊ณ 

ํƒ€์ž… ํ™•์ธ ๋ฐฉ๋ฒ•

print(type(sqrt_num))
# ์ถœ๋ ฅ ๊ฒฐ๊ณผ : <class 'str'>

 

ํ˜•๋ณ€ํ™˜ ๋•Œ๋ฌธ์— ์• ๋ฅผ ์ผ๋‹ค. ์ด๋ฒˆ ๊ธฐํšŒ์— ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ•์„ ๋งŽ์ด ์•Œ๊ฒŒ ๋ผ์„œ ๋ณด๋žŒ์€ ์žˆ๋‹ค.


 

728x90