
2차원 리스트 지그재그 순회 (파이썬)
2022. 8. 21. 19:26
알고리즘 개념
지그재그 순회 코드 for i in range(N): for j in range(M): arr[i][j + (M-1-2*j) * (i%2)]

파이썬 카운팅 정렬 알고리즘
2022. 8. 13. 16:36
알고리즘 개념
카운팅 정렬 항목들의 순서를 결정하기 위해 집합에 각 항목이 몇 개씩 있는지 세는 작업을 하여, 선형 시간에 정렬하는 효율적인 알고리즘 제한 사항 정수나 정수로 표현할 수 있는 자료에 대해서만 적용 가능 카운트들을 위한 충분한 공간을 할당하려면 집합 내의 가장 큰 정수를 알아야 한다. 시간 복잡도는 O(n + k): n은 리스트 길이, k는 정수의 최대값 1단계 data에서 각 항목들의 발생 회수를 세고, 정수 항목들로 직접 인덱스 되는 카운트 배열 counts에 저장한다. data가 [0, 4, 1, 3, 1, 2, 4, 1] 이라면 counts는 [1, 3, 1, 1, 2] 가 된다. 이 뜻은 counts의 각 인덱스 번호가 data에 있는 정수가 된다. 즉, 위의 counts에서 0은 1개, 1은 ..
투 포인터 (파이썬)
2022. 8. 6. 14:58
알고리즘 개념
투 포인터 ? 투 포인터는 알고리즘을 풀 때 자주 쓰이는 방식이고 무엇보다 실행 속도가 빠르다고 한다. 나는 기존 배열 알고리즘에 대해 비효율적인 부르트 포스 방식을 사용했다. 부르트 포스는 비효율적일 뿐 만 아니라 실행속도도 낮다. 이 방법으로 문제를 풀면 time out이 나는 경우가 많다. 그리하여 사용해야할 방법은 투 포인터이다. 투 포인터에 대한 지금까지의 개념은 어떤 기준에 대해 left, right로 접근을 하는것이다. 빗물 트래핑의 경우, 제일 높은 블럭을 기준으로 양 옆으로 left, right를 움직이며 계산했다. 또, 세 수의 합의 경우에는 i를 기준으로 i의 바로 오른쪽 left, 리스트의 끝 right를 움직이며 작동한다. 투 포인터에 대해 조금은 알 것 같지만 아직 능숙하게 활용..

WHO AM I ?
2022. 7. 25. 17:40
알고리즘 개념
나는 지거국 경제학과를 졸업한 비전공자이다. 이 블로그는 나의 성장일기 및 정보공유가 될 것이다. 파이썬에서 Hello Word! 도 출력해 보지 못한 상태로 공부를 시작했다. 2022년 7월 18일 Start !!