일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- bootstrap #css #CSS
- Python #pakage
- function #사용자 정의 함수
- lvm #lv #vg #pv
- EKS
- PODS #POD #pods #pod #파드 #재기동 #롤링재기동 #rolling
- lenova #레노버 #노트북
- DB #mariaDB #SQL
- 오블완
- Swap Memory
- OCP
- test #비교
- jmap #jstack
- dify
- 네트워크 #NW
- Excel #엑셀
- istio #k8s #kubernetes
- 백준 #10430
- Kafka #카프카
- Grid #CSS
- shell #shell script
- publishnotreadyaddress
- Linux #wc
- EFK
- NameSpace #NS
- jgrp000032 #ocp #
- dump #jattach
- Node #POD #Container
- 티스토리챌린지
- CI #CD #CI/CD
Archives
- Today
- Total
BEOM_IT
[programmers]python 181832 정수 나선형으로 배치하기 본문
728x90
반응형
# 나선형으로 배치하기
# n 이 주어지면 n x n 배열을 만듬 근데
# 나선형으로 배치하는??? 어떻게 하는겨...
# 이번적인 배열은 완성... 그런데 나선형?
# 아니면 2차원 배열에 하나씩 넣어보자
# 일단 배열을 초기화 해주고
# 순서에 때려박어
def solution(n):
if n ==1 :
return [[1]]
# 배열 초기화
answer=[[0 for j in range(n)]for i in range(n)]
x=0 # x/y 값을 초기화 해서 하나씩 집어넣자
y=0
case = 6 # 키패드 방향키 순 4862
for i in range(n*n):
answer[x][y]= i+1
# 일단 옆으로 한줄
if case == 6:
y +=1
if y == n-1 or answer[x][y+1] !=0:
case=2
# 밑으로 내리기
elif case == 2:
x +=1
if x ==n-1 or answer[x+1][y] !=0:
case =4
# 옆으로 반대
elif case ==4:
y -= 1
if y==0 or answer[x][y-1] !=0:
case = 8
# 위로 올리기
elif case == 8:
x -= 1
if x ==n-1 or answer[x-1][y] !=0:
case=6
return answer
# 일반적인 배열...
def sol(n):
answer = []
list=[]
for i in range(1,n*n+1):
# print(i)
list.append(i)
print(list)
if i % n ==0:
answer.append(list)
list=[]
return answer
print(solution(4))
728x90
반응형
'Algorithm > Python' 카테고리의 다른 글
[programmers]Python 181932 코드처리하기 (0) | 2024.01.05 |
---|---|
[programmers]python 120854 배열의 원소길이 (0) | 2023.12.21 |
[programmers]python 92334 신고결과받기 (0) | 2023.12.16 |
[programmers]python 181930 주사위게임 2 (0) | 2023.12.15 |
[programmers]python 120956 옹알이(1) (0) | 2023.12.15 |