python

알고리즘 - 정수넣기

beperson 2025. 7. 12. 22:07

1.단 풀어

 오늘도 신나는? 알고리즘 풀이

와... 뭐가 신나는 거지? 좋은건가? 

 

오늘 푼 문제는 n이라는 숫자가 주어지면 n*n 배열의 2차원 리스트에 나선형으로 값을 넣으면 해결되는 문제입니다. 

 

예를 들면 5러눈 숫자가 주어지면 
[1, 2, 3, 4, 5]
[16, 17, 18, 19, 6]
[15, 24, 25, 20, 7]
[14, 23, 22, 21, 8]
[13, 12, 11, 10, 9]
아래와 같이 출력되면 됩니다.

2.건 뭐여..

흠... 걍 모르겠고 접근 뱡향은 아래와 같다.

 

1. [0]리스트에 n만큼 넣는다 

2. 끝까지 값을 넣으며 아래로 내린다.

3. 이제 끝까지 다시 값을 넣는다. 

4.이제 [1][1]의 값까지 넣는다. 

5.이제 태두리를 다 했으니 신나게 돌린다.....

 

네... 노가다입니다. 사실 더 고민하는 것 보다 일단 쓰면서 고민하자 생각하는 것도 있기 때문에 그냥 해보고 수정하는 타입입니다.

 

여튼? 해당 코드를 통해서 얻는 것은 아래의 기능입니다. 

a[b:c:f] # => b부터 c까지 f 간격으로 
ex) a[::-1] => 리스트의 인덱스 -1 부터 -1간격으로

range(a,b,-1) -> a ~ b 까지 -1 간격 ==> 근데 끝값은 없습니다.

 

해당 코드들을 활용해서 태두리를 채우고, 그 뒤에 내용물을 채우는 코드를 작성해서 사용할 row, column을 하나씩 줄이는 방식으로 코드를 작성했습니다. 

 

에혀...

뭐 결론은 위에서 다시 새로운걸 알았지만? 하다보니 그냥 돌리는 거랑 태두리 끼우고 돌리는 게 다른게 없어서 태두리는 날렸다는 점... 

'python' 카테고리의 다른 글

사실 알고보면 중요한 건 재활이 아닐까?  (3) 2025.07.23
알고GO듐 - 헤이트3  (1) 2025.07.17
알고리즘 - 카드  (0) 2025.07.16
파이썬 알고리즘 (3)  (0) 2025.07.14
알고리즘 풀이 -공원  (1) 2025.07.11