500error
[Cos Pro 1급, Python] 1차 5번 : 소용돌이 수 본문
반응형
문제
다음과 같이 n x n 크기의 격자에 1부터 n x n까지의 수가 하나씩 있습니다.

이때 수가 다음과 같은 순서로 배치되어있다면 이것을 n-소용돌이 수라고 부릅니다.

소용돌이 수에서 1행 1열부터 n 행 n 열까지 대각선상에 존재하는 수들의 합을 구해야 합니다.

위의 예에서 대각선상에 존재하는 수의 합은 15입니다.
격자의 크기 n이 주어질 때 n-소용돌이 수의 대각선상에 존재하는 수들의 합을 return 하도록 solution 함수를 완성해주세요.
코드
def solution(n):
answer = 0
ori = 0
for i in range(n):
start, end = ori + 1, ori + 2 * (n - i) - 1 # hit
if i % 2 == 0:
if end < n ** 2:
answer = answer + start + end
elif start == end:
answer = answer + start
ori = end
return answer
n1 = 3
ret1 = solution(n1)
print("solution 함수의 반환 값은", ret1, "입니다.")
n2 = 2
ret2 = solution(n2)
print("solution 함수의 반환 값은", ret2, "입니다.")
반응형
'알고리즘 > 파이썬' 카테고리의 다른 글
[Cos Pro 1급, Python] 1차 7번 : 병합 and 정렬 (0) | 2024.02.26 |
---|---|
[Cos Pro 1급, Python] 1차 6번 : 체스의 나이트 (1) | 2024.02.26 |
[Cos Pro 1급, Python] 1차 4번 : 타임머신 (0) | 2024.02.26 |
[Cos Pro 1급, Python] 1차 3번 : 계산기 by 문자열 (0) | 2024.02.26 |
[Cos Pro 1급, Python] 1차 2번 : 해밍 거리 구하기 (1) | 2024.02.26 |
Comments