
누룽지 콘치즈 통닭!
진짜 맛있었다..
PYTHON
.extend() 메서드 ?
파이썬의 리스트(list) 자료형에서 제공하는 메서드로,
다른 리스트의 모든 요소를 현재 리스트에 추가하는 기능
예시
# 2개의 리스트가 있을 때
list1 = [1, 2, 3]
list2 = [4, 5, 6]
# list1에 list2의 요소들을 추가
list1.extend(list2)
# 결과
print(list1) # [1, 2, 3, 4, 5, 6]
< extend >
list1 = [1, 2, 3]
list2 = [4, 5, 6]
list1.extend(list2)
print(list1) # [1, 2, 3, 4, 5, 6]
< append >
list1 = [1, 2, 3]
list2 = [4, 5, 6]
list1.append(list2)
print(list1) # [1, 2, 3, [4, 5, 6]]
# 높이가 n인 삼각형을 만들기 위해 각 행을 0으로 초기화
triangle = [[0] * (i + 1) for i in range(n)]
예) n=4
triangle = [
[0],
[0, 0],
[0, 0, 0],
[0, 0, 0, 0]
]
num = 1
x, y = -1, 0
> num은 삼각형에 채워질 첫 번째 숫자
> x와 y는 삼각형 내에서 현재 위치를 나타내는 좌표
> 초기값으로 x를 -1로 설정한 이유:
첫 번째 이동이 아래로 진행되기 때문
for i in range(n):
for j in range(i, n):
if i % 3 == 0:
x += 1
elif i % 3 == 1:
y += 1
elif i % 3 == 2:
x -= 1
y -= 1
triangle[x][y] = num
num += 1
> i는 현재 채우기 단계 (반시계 방향으로 진행)를 나타내며,
각 단계마다 방향이 바뀜
> j는 현재 채워야 하는 숫자의 개수,
각 단계마다 n-i개의 숫자 채우기
> 방향은 i % 3 값에 따라 결정 :
i % 3 == 0: 아래로 이동 (x 증가)
i % 3 == 1: 오른쪽으로 이동 (y 증가)
i % 3 == 2: 대각선 위로 이동 (x 감소, y 감소)
> 각 좌표에 num을 채우고 num을 증가시켜 다음 숫자 준비
answer = []
for row in triangle:
answer.extend(row)
> 삼각형의 각 행을 순회하며 각 행의 요소들을 answer에 추가
오늘의 한 줄.
주말 끝 : )