일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Cleancode
- 따배씨
- dfs
- sorting
- Algospot
- udemy
- 따라하면서 배우는 C언어
- 백준
- 종만북
- JavaScript
- 정수론
- 따라하며 배우는 C언어
- String
- C
- server
- Python
- DP
- 인프런
- 생활코딩
- BASIC
- greedy
- Math
- C언어
- graph
- web
- BOJ
- BFS
- programmers
- php
- Algorithm
- Today
- Total
목록분류 전체보기 (421)
몽상실현개발주의
따배씨 - 따라하며 배우는 C언어 15강 비트 다루기 15.2 이진수를 십진수로 바꾸기 연습문제 #include #include // pow() #include // strlen() #include // exit() unsigned int to_decimal(const char bi[]); int main() { printf("Binary (string) to Decimal conversion\n"); printf("%d\n", to_decimal("00000110")); printf("%d\n", to_decimal("00010110")); printf("%d\n", to_decimal("10010100")); return 0; } unsigned int to_decimal(const char bi[]..
따배씨 - 따라하며 배우는 C언어 15강 비트 다루기 15.1 비트단위 Bitwise 논리 연산자 Logical Operators Regular Logical Operators : &&, ||, and ! bool have_apple = true; bool like_apple = true; if (have_apple && like_apple) eat_apple(); Bitwise Logical Operators Bitwise NOT: ~ (Tilde) ~1 = 0 ~0 = 1 Bitwise AND: & (Ampersand) 1&1 = 1 1&0 = 0 0&1 = 0 0&0 = 0 Bitwise OR: | (Vertical bar) 1|1 = 1 1|0 = 1 0|1 = 1 0|0 = 0 Bitwise E..
[BOJ] 10819 / 차이를 최대로 / Python 파이썬 https://www.acmicpc.net/problem/10819 10819번: 차이를 최대로 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. www.acmicpc.net 풀이 순열을 이용하여, 모든 경우를 만들어 비교하였다. from itertools import permutations N = int(input()) nums = list(map(int, input().split())) res = 0 for per in permutations(range(N), N): tmp = 0 for i in range(1, N)..
[BOJ] 9095 / 1, 2, 3 더하기 / Python 파이썬 https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 풀이 주어진 숫자를 1, 2, 3 으로 표현하는 경우의 수는 점화식으로 표현 가능하다. dp(1) = 1 dp(2) = 2 dp(3) = 4 dp(4) = dp(1) + dp(2) + dp(3) dp(N) = dp(N-3) + dp(N-2) + dp(N-1) N = int(input()) nums = [0, 1, 2, 4] for _ in range(4, 12): nums.append(sum(nums[-3:])) for _ in..
따배씨 - 따라하며 배우는 C언어 14강 구조체_2 4.26 함수 포인터의 배열 연습문제 #include #include #include #include void update_string(char* str, int(*pf)(int)); void ToUpper(char* str); void ToLower(char* str); void Transpose(char* str); int main() { char options[] = {'u', 'l', 't'}; int n = sizeof(options) / sizeof(char); typedef void (*FUNC_TYPE)(char*); FUNC_TYPE operations[] = {ToUpper, ToLower, Transpose}; printf("Ente..
따배씨 - 따라하며 배우는 C언어 14강 구조체_2 14.25 qsort() 함수 포인터 연습문제 #include #include int compare(const void* first, const void* second){ // void type pointer 는 어떤 타입이든 가리킬 수 있다 if (*(int*)first > *(int*)second) return 1; else if (*(int*)first < *(int*)second) return -1; else return 0; } int main(){ int arr[] = {8, 2, 5, 3, 6, 11}; int n = sizeof(arr) / sizeof(arr[0]); qsort(arr, n, sizeof(int), compare); fo..
[BOJ] 1451 / 직사각형으로 나누기 / Python 파이썬 https://www.acmicpc.net/problem/1451 1451번: 직사각형으로 나누기 첫째 줄에 직사각형의 세로 크기 N과 가로 크기 M이 주어진다. 둘째 줄부터 직사각형에 들어가는 수가 가장 윗 줄부터 한 줄에 하나씩 M개의 수가 주어진다. N과 M은 100보다 작거나 같은 자연수이 www.acmicpc.net 풀이 브루트포스 알고리즘 문제로, 나눌 수 있는 경우를 모두 계산하여 해결하였다. 직사각형으로 나눌 수 있는 경우는 총 6가지가 나왔다. import sys input = sys.stdin.readline N, M = map(int, input().split()) nums = [] for _ in range(N): n..
따배씨 - 따라하며 배우는 C언어 14강 구조체_2 14.24 복잡한 선언 Declaration 을 해석하는 요령 실무에서는 직관적이지 않은 선언을 사용하지 않음 typedef 를 사용해서 이해하기 쉬운 형태로 사용 #include int temp(int a){ return 0; } int (*g(int a))(int){ return temp; } int main(){ /* * indicates a pointer () indicates a function [] indicates a array */ /* Deciphering Complex Declarations - Always read declarations from the inside out. - When there's a choice, always f..