Algorithm 141

[자료구조와 함께 배우는 알고리즘 입문 - C언어 편] 3장 검색 연습문제 Q6 답안 p.128

Q6. 요소의 값이 내림차순으로 정렬된 long형 배열에서의 검색을 bsearch 함수를 사용하여 프로그램을 작성하세요. 답안) #include #include int long_cmpr(const long *a, const long *b) { if(*a *b) return -1; else return 0; } int main(void) { int i, nx; long ky, *x, *p; puts("bsearch 함수를 사용하여 검색"); printf("요소 개수 : "); scanf("%d", &nx); x = calloc(nx, sizeof(long)); printf("x[0] : "); scanf("%ld", &x[0]); for(i=1; i x..

Algorithm/Do it 2019.11.04

단계별로 풀기 8단계 수학 1 - 카잉 달력(6064번 문제) Python3 답안

답안) for _ in range(int(input())): m, n, x, y = map(int, input().split()) x -= 1 y -= 1 k = x while k < n*m: if k % n == y: print(k+1) break k += m if k % n != y: print(-1) 문제) https://www.acmicpc.net/problem/6064 6064번: 카잉 달력 문제 최근에 ICPC 탐사대는 남아메리카의 잉카 제국이 놀라운 문명을 지닌 카잉 제국을 토대로 하여 세워졌다는 사실을 발견했다. 카잉 제국의 백성들은 특이한 달력을 사용한 것으로 알려져 있다. 그들은 M과 N보다 작거나 같은 두 개의 자연수 x, y를 가지고 각 년도를 와 같은 형식으로 표현하였다. 그들은 ..

Algorithm/Baekjoon 2019.10.27

[자료구조와 함께 배우는 알고리즘 입문 - C언어 편] 3장 검색 연습문제 Q5 답안 p.115

Q5. 우리가 살펴본 이진 검색 알고리즘 프로그램은 검색할 값과 같은 값을 갖는 요소가 하나 이상일 경우 그 요소 중에서 맨 앞의 요소를 찾지 못합니다. 예를 들어, 아래 그림의 배열에서 7을 검색하면 중앙에 위치하는 a[5]를 검색합니다. 맨 앞의 요소를 찾는 bin_search2 함수를 작성해보세요. int bin_search2(const int a[], int n, int key); 답안) #include #include int bin_search2(const int a[], int n, int key) { int j; int pl = 0; int pr = n-1; int pc; int chk = 1; do { pc = (pl + pr) / 2; if(a[pc] == key) chk = 0; els..

Algorithm/Do it 2019.10.16

[자료구조와 함께 배우는 알고리즘 입문 - C언어 편] 3장 검색 연습문제 Q3 답안 p.115

Q3. 요소의 개수가 n인 배열 a에서 key와 일치하는 모든 요소의 인덱스를 배열 idx의 맨 앞부터 순서대로 저장하고, 일치한 요소의 개수를 반환하는 함수를 작성하세요. 예를 들어, 요소의 개수가 8인 배열 a의 요소가 {1, 8, 2, 8, 4, 6, 7, 9 } 이고 key가 9면 배열 idx에 {1, 3, 7 }을 저장하고 3을 반환합니다. int search_idx(const int a[], int n, int key, int idx[]); 답안) #include #include int search_idx(const int a[], int n, int key, int idx[]) { int i = 0; int j = 0; for(i; i

Algorithm/Do it 2019.10.16

단계별로 풀기 8단계 수학 1 - 부녀회장이 될테야(2775번 문제) Python3 답안

답안) test_case = int(input()) for i in range(test_case): k_floor = int(input()) n_room = int(input()) k_list = [] for k in range(k_floor): tmp_list = []; for n in range(1, n_room+1): if len(k_list) == 0: tmp_list.append(n) else: tmp_list.append(sum(k_list[:n])) k_list = tmp_list print(sum(k_list[:n_room+1])) 문제) https://www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그..

Algorithm/Baekjoon 2019.10.14
반응형