일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Algospot
- Math
- web
- DP
- BASIC
- greedy
- udemy
- C
- php
- 정수론
- 생활코딩
- 인프런
- String
- 종만북
- 백준
- C언어
- Algorithm
- Python
- sorting
- dfs
- BFS
- BOJ
- programmers
- server
- 따라하면서 배우는 C언어
- JavaScript
- graph
- Cleancode
- 따배씨
- 따라하며 배우는 C언어
- Today
- Total
목록전체 글 (421)
몽상실현개발주의
따배씨 - 따라하며 배우는 C언어 14강 구조체_2 14.23 자료형에게 별명을 붙여주는 typedef #include #include // time() int main(){ /* typedef specifier - Give symbolic names (or aliases) to types - Does not create new types. */ typedef unsigned char BYTE; //Note the scope of BYTE BYTE x, y[10] = { 0, }, *z = &x; { typedef unsigned char byte; /* Portable data types */ size_t s = sizeof(byte); // sizeof 의 결과값 데이터 형: unsigned int ..
[BOJ] 1107 / 리모컨 / Python 파이썬 https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net 풀이 처음 시도를 숫자가 조합되는 경우를 고려하는 방법으로 접근하였지만 풀지 못하였다. 다음 방법으로는 가능한 전체 채널 번호를 모두 탐색하는 방법으로 해결하였다. 이동하려고 하는 채널의 숫자가 비교적 작기 때문에, 완전탐색으로 충분히 가능하다는 것을 생각하지 못하고 어려운 방법 먼저 구상한것 같다. N = int(input()..
따배씨 - 따라하며 배우는 C언어 14강 구조체_2 14.22 함수 포인터 Function Pointer 의 사용 방법 #include #include // toupper(), tolower() void ToUpper(char* str){ while(*str){ *str = toupper(*str); str++; } } void ToLower(char* str){ while (*str) { *str = tolower(*str); str++; } } int main(){ char str[] = "Hello, World"; void (*pf)(char*); pf = ToUpper; // Name of a function is a pointer // pf = &ToUpper; //Acceptable // pf..
따배씨 - 따라하며 배우는 C언어 14강 구조체_2 14.21 함수 포인터의 원리 Function Pointers #include void f1(){ return; } int f2(char i){ return i+1; } int main(){ void (*pf1)() = f1; //void (*pf1)() = &f1; int (*pf2)(char) = f2; (*pf1)(); //call f1 via pf1 //pf1(); int a = pf2('A'); //int a = (*pf2)('A'); printf("%d\n", a); // 66; return 0; } 내부적으로는 함수의 이름 자체가 'pointer' '&' 가 없어도, 주소값이 됨 함수는 text segment 저장되어 있음 함수를 실행시킨다..
[BOJ] 1476 / 날짜 계산 / Python 파이썬 https://www.acmicpc.net/problem/1476 1476번: 날짜 계산 준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타 www.acmicpc.net 풀이 각각의 수 E, S, M을 1부터 시작하는 15, 28, 19 진법으로 생각하여 풀이하였다. check = [1, 1, 1] cnt = 1 while True: if check == ESM: print(cnt) break check[0] = (check[0] + 1) % 16 if not check[0]: check[0] = 1 check[..
따배씨 - 따라하며 배우는 C언어 14강 구조체_2 14.20 이름 공간 공유하기 Namespace #include int iamfunction(){ return 0; } int main(){ /* namespace - Identify parts of a program in wich a name is recognized - You an use the same name for one variable and one tag. - C++: use 'namespace; to use the same identifiers in the duplicated scopes */ int myname = 123; { int myname = 345; //double myname = 3.14; //ERROR } struct rec..
따배씨 - 따라하며 배우는 C언어 14강 구조체_2 14.19 열거형 연습문제 #include #include #include enum spectrum { red, orange, yellow, green, blue }; const char* colors[] = { "red", "orange", "yellow", "green", "blue" }; #define LEN 30 int main(){ char choice[LEN] = { 0, }; enum spectrum color; bool color_is_found = false; while(1) { printf("Input a color name (empty line to quit):\n"); if (scanf("%[^\n]%*c", choice) != 1..
[BOJ] 1744 / 수 묶기 / Python 파이썬 https://www.acmicpc.net/problem/1744 1744번: 수 묶기 길이가 N인 수열이 주어졌을 때, 그 수열의 합을 구하려고 한다. 하지만, 그냥 그 수열의 합을 모두 더해서 구하는 것이 아니라, 수열의 두 수를 묶으려고 한다. 어떤 수를 묶으려고 할 때, 위치에 www.acmicpc.net 풀이 양수, 1, 0, 음의 정수에 대해 구분하여 계산해 주는 문제이다. 수열의 두 수를 묶어 최대값을 만들기 위해 다음과 같은 로직을 세웠다. 수열이 양수인 경우: 큰 수 부터 2개씩 묶어 곱하기 양수에 1이 포함 된 경우: 곱했을 경우 보다 더했을 경우가 더 큰 수가 된다. 수열이 음수인 경우: 작은 수 부터 2개씩 묶어 곱하기 0: 음..