반응형
밑의 링크는 백준에서의 문제 링크입니다.
파이썬 코드와 결과입니다.
# readline을 사용하기 위해 import합니다.
from sys import stdin
# 첫째 줄에 N을 입력합니다.
# 1 <= ㅜ <= 1,000
N = int(stdin.readline())
# A, B 쌍의 개수를 저장할 변수를 선언합니다.
AB_pair_cnt = 0
# 1 <= B <= A <= 500
# B를 1부터 500까지 반복해봅니다.
for B in range(1, 501):
# A를 B부터 500까지 반복해봅니다.
for A in range(B, 501):
# B의 제곱이 A의 제곱보다 N만큼 작다면
if A ** 2 - B ** 2 == N:
# A, B 쌍의 개수에 1을 더해줍니다.
AB_pair_cnt += 1
# A, B 쌍의 개수를 출력합니다.
print(AB_pair_cnt)
맞았습니다 결과를 보고 다른 사람들의 파이썬 결과를 보니
제가 제출한 코드의 실행 시간인 140ms보다 대략 절반 정도의 실행 시간인 결과들도 많았습니다.
저는 무작정 문제에서 요구한 조건 그대로 구현했는데
뭔가 시간을 더 줄일 수 있는 방법이 있는 것 같습니다.
실행 시간을 줄일 수 있는 풀이 방법을 더 생각해보고 나중에 한 번 더 포스팅해봐야겠습니다.
※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.
※ 더 효율적이고 빠른 정답을 환영합니다.
반응형
댓글