CS/알고리즘21 [알고리즘] 알고리즘이란? 알고리즘이란 무엇인가 어떤 문제에 대해 입력을 받아서 수학적이고 논리적으로 정의된 연산과정을 거쳐 원하는 출력으로 변환/계산하는 절차이다. 이것을 프로그래밍 언어로 표현하면 프로그램 또는 코드가 된다. 입력 받은 정보는 배열, 연결리스트, 트리, 해시테이블 등의 접근과 수정이 빠른 자료구조에 저장된다. 자료구조에 저장된 입력 값은 단순한 연산과정을 거쳐 원하는 출력으로 계산된다. 최대공약수 구하는 알고리즘(GCD) 유클리드의 GCD 알고리즘 유클리드의 최대공약수를 구하는 알고리즘이 최초의 알고리즘으로 알려져 있다. 최대공약수를 구하는 방법으로 유클리드가 고안한 것이 빼기를 이용하는 방법이다. 두 수 중 큰 수에서 작은 수를 빼는 행위를 큰 수가 더 작아질 때까지 반복하고, 둘의 역할을 바꿔 이를 반복한다.. 2023. 11. 15. [코드트리 novice mid] 완전탐색 - 숫자 카운트 * 자리마다 숫자를 정하는 완전탐색 1. 전체 숫자를 다 돌면서 카운트를 기록 2. 기록한 카운트 중에 정답 카운트랑 맞는 숫자 딕셔너리에 기록 3. 딕셔너리 카운트가 n인 숫자만 고르기 1. 카운트 세는 조건문 설정을 잘못함. - c1, c2를 바꿔서 카운트 함. - k 일 때 if b_arr.index(k) == 1이라고 잘못 입력해서 잘못 카운트함 2. 마지막에 n_arr 가 4일때를 세라고 해서 틀림 # 입력 n = int(input()) def check(i, j, k, b_arr): c1 = 0 c2 = 0 if i in b_arr: if b_arr.index(i) == 0: c1 += 1 else: c2 += 1 if j in b_arr: if b_arr.index(j) == 1: c1 +=.. 2023. 11. 12. [코드트리 novice mid] 완전탐색 - 두가지로 열리는 자물쇠 * 자리마다 숫자를 정하는 완전탐색 일단 완전탐색이으로 풀어야 한다는 생각을 전혀 못했다. 그냥 무작정 시뮬레이션처럼 풀려고 했던 것 같다. 그러니까 계속 오류가 남!! 일단 내가 생각한 풀이법은 1. 두개의 3개로 된 숫자가 있으면 각 숫자에 대한 가능한 조합을 구한다. 2. 가능한 조합의 교집합을 구해서 전체에서 뺀다. 이렇게 하니까 런타임 에러가 남,, 왜 나는지 모르겠다. n = int(input()) arr1 = list(map(int, input().split())) arr2 = list(map(int, input().split())) if n 2023. 11. 9. 이전 1 2 3 4 다음