-
Snail Sorth Algorithmpython algorithm 2024. 2. 6. 20:47
오늘부터 매일은 아니더라도,, 일주일에 5~6문제 정도는 알고리즘 문제를 풀어보려고,, 한다,,
코딩 테스트도 준비하고, python 기본 문법도 공부할 겸 아주 쉬운 문제라도 풀어보면 좋을 것 같다.
어떻게 풀면 좋을까 생각을 해봤는데,, 잘은 모르겠다. 어쩌면 문제를 풀어나가면서 점점 좋은 방법을 찾아나가지 않을까 생각한다. 그래도 어떤 점을 초점에 두고 풀거냐 물어본다면,, 1) 파이썬의 어떤 특성을 문제 상황으로 두었는지, 2)어떤 부분을 활용해서 풀기를 원했는지를 집중해서 보려고 한다.
오늘은 snail sort algorithm 문제를 풀었는데,, 어려웠다. 하지만 좀 허무하게 풀리는 문제인 것 같아서 다리가 풀렸다.
snail sort algorithm의 원리는 다음과 같다
모든 코딩 알고리즘 문제의 경우,
1) 순차적으로 생각을 해야하고,
2) 변화가 일어나는 지점에서 규칙성을 찾으려고,
해야하는 것 같다는 생각을 했다.
Snail Sort Algorithm에서 초점을 두어야 할 부분은 '연속적인 숫자가 나열되는 위치가 어떻게 변화하고 있는가?'
- 배열의 인덱스에 초점을 두고 풀이
n = 4 import numpy as np result = np.zeros((n,n)) num = 1 i = 0 j = -1 trans_num = 1 while n > 0: # 열 증가 for _ in range(n): j += trans_num result[i][j] = num num+=1 n -= 1 #행 증가 for _ in range(n): i += trans_num result[i][j] = num num += 1 trans_num *= -1 result
'python algorithm' 카테고리의 다른 글
캐시 크기에 따른 실행 시간 측정 (0) 2024.02.18 Python 기본 Method 및 함수 정리 (0) 2024.02.17 다트 게임 (0) 2024.02.16 실패율 (0) 2024.02.14 신규 아이디 추천 (0) 2024.02.13