알고리즘 31

셀프 넘버(4673번 문제) Python3 답안

문제) 답안) self_number_list = [i for i in range(1, 10001)] def find_self_number(n): sum_val = n for str_n in str(n): sum_val += int(str_n) if (sum_val > 10000): return if (sum_val in self_number_list): self_number_list.remove(sum_val) def main(): for i in range(1, 10000): find_self_number(i) for snl in self_number_list: print(snl) if __name__=="__main__": main() 시간초과 난 답) ㅋㅋ 지나친 걱정이 문제 self_number_..

Algorithm/Baekjoon 2020.02.09

단계별로 풀기 10단계 재귀 - 피보나치 수 5(10870번 문제) Python3 답안

문제) https://www.acmicpc.net/problem/10870 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n>=2)가 된다. n=17일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 n이 주어졌을 때, n번째 피보나치 수를 구하는 www.acmicpc.net 답안) n = int(input()) fibo = [0, 1] for i in range(2, n+1): element..

Algorithm/Baekjoon 2019.12.17

[자료구조와 함께 배우는 알고리즘 입문 - 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

[자료구조와 함께 배우는 알고리즘 입문 - 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

단계별로 풀기 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
반응형