일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- udemy
- String
- 따라하며 배우는 C언어
- graph
- dfs
- C언어
- 생활코딩
- Algorithm
- Cleancode
- BOJ
- greedy
- JavaScript
- php
- DP
- 따라하면서 배우는 C언어
- BFS
- sorting
- BASIC
- web
- 정수론
- 따배씨
- programmers
- 종만북
- Algospot
- 인프런
- C
- Math
- 백준
- server
- Python
- Today
- Total
목록전체 글 (421)
몽상실현개발주의
따배씨 - 따라하며 배우는 C언어 15강 비트 다루기 15.7 비트단위 연산자의 다양한 사용법 비트단위 연산자는 메모리와 CPU 를 잘 사용해야 하는 큰 프로그램을 작성할때 유용하게 사용 가능 #include #include // shift Decimal Binary Hex Octet #define MASK_SWORD (1
[BOJ] 1697 / 숨바꼭질 / python 파이썬 https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 풀이 최단시간으로 도달하는 문제이기 때문에 BFS 로 풀이 하였다. 처음 시도에는 단순히 모든 경우의수를 탐색하였기 때문에, 메모리 초과가 발생 하였다. 방문했던 위치에 재방문 하는 경우의수를 고려하여 해결하였다. from collections import deque N, K = map(int, input().spl..
[BOJ] 1963 / 소수 경로 / Python 파이썬 https://www.acmicpc.net/problem/1963 1963번: 소수 경로 소수를 유난히도 좋아하는 창영이는 게임 아이디 비밀번호를 4자리 ‘소수’로 정해놓았다. 어느 날 창영이는 친한 친구와 대화를 나누었는데: “이제 슬슬 비번 바꿀 때도 됐잖아” “응 지금 www.acmicpc.net 풀이 [BOJ] 1963 / 숨바꼭질 문제와 유사한 문제였다. BFS 로 완전탐색을 하면서 memoization 으로 중복 탐색하는 경우를 제거하여 풀이하였다. 소수 판단은 "에라토스테네스의 체" 로 미리 만들어 주었고, 새롭게 생성되는 비밀번호는 자리수별로 0~9까지 변경하여 만들어 주었다. from collections import deque #..
[BOJ] 10971 / 외판원 순회2 / Python 파이썬 https://www.acmicpc.net/problem/10971 10971번: 외판원 순회 2 첫째 줄에 도시의 수 N이 주어진다. (2 ≤ N ≤ 10) 다음 N개의 줄에는 비용 행렬이 주어진다. 각 행렬의 성분은 1,000,000 이하의 양의 정수이며, 갈 수 없는 경우는 0이 주어진다. W[i][j]는 도시 i에서 j www.acmicpc.net 풀이 가장 기본적인 형태의 Traveling Salesman problem(TSP) 문제 이다. visited 로 방문한 경로를 check 하며 DFS 탐색하여 해결하였다. # 한 도시에서 출발해 N개의 도시를 모두 거쳐 다시 원래의 도시로 돌아오는 순회 여행 경로를 계획하려고 한다. # 가..
따배씨 - 따라하며 배우는 C언어 15강 비트 다루기 15.6 비트단위 쉬프트 Shift 연산자 #include #include #include #include void int_binary(const int num); int main() { /* Bitwise shift operators - Left shift number > n : divede by 2^n (for non-negative numbers) */ // 8 bit integer cases // printf("%hhd\n", 1 00000001??? -> 00001000 // 8 printf("%hhd\n", 8 >> 1); // 00001000 -> ?00001000 -> 00000100 // 4 printf("%hhd\n", -119 >>..
따배씨 - 따라하며 배우는 C언어 15강 비트 다루기 15.5 2의 보수 2's Complement 표현법 확인해보기 #include #include #include #include void print_binary(const char num); int main() { /* Signed Integers - Sign-magnitude representation 00000001 is 1 and 10000001 is -1 00000000 is +0, 10000000 is -0 Two zeros +0, -0, from -127 to +127 - One's complement method To reverse the sign, invert each bit. 00000001 is 1 and 11111110 is -1...
따배씨 - 따라하며 배우는 C언어 15강 비트 다루기 15.4 비트 단위 논리 연산자 확인해보기 #include #include #include #include #include unsigned char to_decimal(const char bi[]); void print_binary(const unsigned char num); int main() { /* Regular Logical Operators : &&, ||, and ! bool have_apple = true; bool like_apple = true; if (have_apple && like_apple) eat_apple(); Bitwise Logical Operators : - Bitwise NOT ~ - Bitwise AND & - B..
따배씨 - 따라하며 배우는 C언어 15강 비트 다루기 15.3 &를 이용하는 십진수 -> 이진수 연습 문제 #include #include // pow() #include // strlen() #include // exit() #include unsigned char to_decimal(const char bi[]); void print_binary(const unsigned char num); int main() { unsigned char i = to_decimal("01000110"); unsigned char mask = to_decimal("00000101"); print_binary(i); // Decimal 70 == Bianry 01000110 print_binary(mask); // De..