[ swea / d3 ] 10570. 제곱 팰린드롬 수

HYEJIN·2022년 5월 27일
0

SWEA

목록 보기
3/3

10570. 제곱 팰린드롬 수

접근법

일일히 하나씩 계산을 하면 불필요한 계산이 많이 들어갈 것으로 생각됨

1) 1~n까지 제곱의 값이 1000미만인것만 추리고 (범위제한 1000)
그 중에서, 회문 문자열일 경우만 arr 배열에 넣어줌
( 제곱의 값이 1000미만임으로 최대 3자리수 임으로, 각 첫번째와 마지막 인덱스만 확인하면 되어 [-1]과 같이 인덱싱을 했는데, 길이가 더 길어질 경우 [ : : -1] 과 같이 슬라이싱을 이용하여 비교하면 됨. )

2) a~b까지의 숫자 중에 제곱 팰린드롬 수를 찾으라고 했을 때
a~b까지의 숫자가 arr배열에 몇개 있는지 찾아서 출력해줌.

코드


T = int(input())

arr = list()
x=1
while x**2<1000:
    new_x = str(x)
    x_square =str(x**2)

    if new_x[0]==new_x[-1] and x_square[0]==x_square[-1]:
        arr.append(x**2)

    x=x+1

for tc in range(1,1+T):
    a,b = map(int,input().split())

    cnt = 0
    for i in arr:
        if a<= i <=b:
            cnt+=1
    print(f"#{tc} {cnt}")
    
    

0개의 댓글

Powered by GraphCDN, the GraphQL CDN