일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 인프런
- BFS
- JavaScript
- String
- Math
- DP
- graph
- server
- php
- programmers
- C언어
- web
- 종만북
- Cleancode
- 따라하면서 배우는 C언어
- 따라하며 배우는 C언어
- Algospot
- udemy
- sorting
- C
- 따배씨
- 정수론
- Python
- greedy
- BOJ
- 생활코딩
- Algorithm
- 백준
- BASIC
- dfs
- Today
- Total
목록전체 글 (419)
몽상실현개발주의
[프로그래머스] level1 / 약수의 개수와 덧셈 / Python 파이썬 https://programmers.co.kr/learn/courses/30/lessons/77884 코딩테스트 연습 - 약수의 개수와 덧셈 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주 programmers.co.kr 풀이 def get_n(N): cnt = 0 for i in range(1, N+1): if N % i: continue cnt += 1 return cnt def solution(left, right): answer = 0 for i ..
[프로그래머스] level1 / 숫자 문자열과 영단어 / Python 파이썬 https://programmers.co.kr/learn/courses/30/lessons/81301 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 풀이 영어 문자를 숫자와 매칭시켜 변환하는 문제이다. num_dic = {'zero': '0', 'one': '1', 'two': '2', 'three': '3', 'four':'4', 'five':'5', 'six':'6', 'seven':'7', 'eight':'8', '..
[종만북] 연결 리스트 / 선형 자료 구조 연결 리스트 배열의 원소들의 순서를 유지하면서 임의의 위치에 원소를 삽입하거나, 임의의 위치에서 원소를 삭제하는것은 시간이 오래 걸리는 작업이다. 해당 위치 뒤에 있는 원소들을 하나씩 뒤칸 혹은 앞칸으로 옮겨야 하기 때문이다. 정확한 수행시간은 삽입이나 삭제 위치에 따라 다르지만, 평균적인 경우 이 작업들에는 원소들의 개수에 선형 비례하는 시간이 소요된다. 이와 같은 문제를 해결하기 위해 고안된 자료구조가 연결 리스트(Linked List) 이다. 연결 리스트는 특정 위치에서의 삽입과 삭제를 상수 시간에 할 수 있게 해 준다. 배열에서는 메모리의 연속된 위치에 각 원소들이 저장되어 있지만, 연결 리스트는 원소들이 메모리 여기저기 흩어져 있고 각 원소들은 이전과 ..
[종만북] 동적 배열 / 선형 자료 구조 동적 배열 배열의 큰 문제중 하나는 배열이 선언 될 때, 지정된 크기 이상의 자료를 넣을수 없는 것. 이와 같은 문제를 해결하기 위해 고안된 것이 자료의 개수가 변함에 따라 크기가 변경되는 동적 배열 (Dynamic Array) 배열을 이용해 만들어 낸 별도의 자료구조 배열의 특성 - 원소들은 메모리의 연속된 위치에 저장됨 - 주어진 위치의 원소를 반환하거나 변경하는 동작을 O(1) 에 완수 동적 배열의 추가 특성 - 배열의 크기를 변경하는 resize() 연산이 가능. 이 동작을 수행하는데는 배열의 크기 N 에 비례하는 시간이 소요 - 주어진 원소를 배열의 맨 끝에 추가함으로써 크기를 1 늘리는 append() 연산을 지원. 이 동작을 수행하는데 상수 시간 소요..
따배씨 - 따라하며 배우는 C언어 16강 전처리기와 라이브러리 16.17 가변 인수 Variable Arguments #include #include #include // Variable Arguments /* Variable Arguments - int printf(char const * const _Format, ...); 1. Provide a function prototype using an ellipsis void vaf1(int n, ...); // OK int vaf2(const char * s, int k, ...); // OK char vaf3(char c1, ..., char c2); // Not OK, ellipsis should be the last. double vaf4(...);..
따배씨 - 따라하며 배우는 C언어 16강 전처리기와 라이브러리 16.16 memcpy() 와 memmove() #include #include #include // memcpy(), memmove() #define LEN 6 void prt(int *arr, int n) { for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } printf("\n"); } int main() { /* - overlapping region - pointer-to-void (datatype is unknown) */ int arr1[LEN] = { 1, 3, 5, 7, 9, 11}; int* arr2 = (int*)malloc(LEN * sizeof(int)); if (arr2 =..
따배씨 - 따라하며 배우는 C언어 16강 전처리기와 라이브러리 16.15 assert 라이브러리 디버깅 할 때 유용하게 사용 가능 #include int divide(int a, int b); int main() { int a, b; int f = scanf("%d%d", &a, &b); printf("a / b = %d\n", divide(a, b) ); return 0; } int divide(int a, int b) { assert(b != 0); // b == 0 일때, assert 동작 return a / b; } assert 는 Release Mode 에서는 compile 시 포함되지 않음 Debug Mode Runtime 에서 동작 static assert 는 compile time 에서 동..
따배씨 - 따라하며 배우는 C언어 16강 전처리기와 라이브러리 16.14 표준 유틸리티 Utilities 라이브러리 #include #include /* rand(), srand(), malloc(), free(), ... */ void goodbye(void) { printf("GoodBye\n"); } void thankyou(void) { printf("Thankyou\n"); } int main() { printf("Purchased?\n"); if (getchar() == 'y') atexit(thankyou); // 프로그램이 종료 될 때, 런타임에서 실행 시킬 함수를 등록 while (getchar() != '\n') {}; printf("Goobye message?\n"); if (getc..