알고리즘 3

개미수열 알고리즘 파이썬

개미수열이란? 앞의 수를 연속된 같은 수의 개수로 묶어서 읽는 방식으로 만들어지는 수열로 1, 11, 21, 1211, 111221, 312211, 13112221, 1113213211 이런 식으로 진행된다. 개미수열 알고리즘(파이썬) n=int(input()) s='1' #수열의 시작이 1이기 때문에 for i in range(n): x=s[0] count=1 s_dev='' for j in range(1,len(s)): if s[j]!=x: s_dev+=str(count)+str(x) x=s[j] count=1 else: count+=1 s=s_dev+str(count)+str(x) print(s)

알고리즘 2021.10.15

투포인터 알고리즘 Two Pointers algorithm (파이썬)

투포인터 알고리즘 : 리스트에 순차적으로 접근해야 할때 두 개의 점의 위치를 기록하면서 처리하는 알고리즘 ex) 주문서 10개 중 1번부터 3번 주문서 총액을 계산할 때 시작점은 1번 주문서, 끝 점은 3번 주문서가 된다. 주어진 리스트 중 특정한 합을 가지는 수열 찾기 현재 주어진 리스트= [1,2,4,6,8] 에서 합이 6인 수열의 개수 찾기 count, start와 end는 0 부터 시작한다. 만약 start부터 end까지 수열의 합이 6을 넘지 않는다면 end를 1 증가시킨다. start부터 end까지 수열의 합이 6을 넘었다면 합에서 start 번째 수를 뺀뒤, start를 1증가시킨다. 수열의 합이 6이라면 count를 1 증가시킨다. 이 과정을 end가 리스트 끝에 도달할때 까지 반복한다. ..

알고리즘 2021.10.07

[알고리즘] brute force 알고리즘 (완전탐색)

brute force알고리즘 가능한 모든 경우의 수를 전부 탐색하는 알고리즘, 즉 완전 탐색 항상 정확도 100%를 보장한다. 단, 모든 경우의 수를 다 탐색하기 때문에 문제에 따라 비효율적일 수 있다. => 현재 자원으로 커버가 가능할 때마다 사용하는 것이 좋다 활용 선형구조에서는 순차탐색 비선형구조에서는 bfs(너비우선탐색), dfs(깊이우선탐색) brute force 활용 문제 https://www.acmicpc.net/problem/10819 10819번: 차이를 최대로 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. www.acmicpc.net

알고리즘 2021.10.03