반응형
Notice
Recent Posts
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Archives
Today
Total
관리 메뉴

500error

[Cos Pro 1급, Python] 1차 5번 : 소용돌이 수 본문

알고리즘/파이썬

[Cos Pro 1급, Python] 1차 5번 : 소용돌이 수

Internal Server Error 2024. 2. 26. 21:32
반응형

문제

다음과 같이 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, "입니다.")
반응형
Comments