목록Home (246)
without haste but without rest
Reference - C언어 코딩도장 1. sprintf s1과 같이 문자열을 저장할 빈 배열을 버퍼라고 부른다. #define _CRT_SECURE_NO_WARNINGS #include int main() { char s1[20]; sprintf(s1, "Hello, %s", "World!");// sprintf(배열, 서식, 값1, 값2, ...) printf("%s\n", s1); return 0; } * "Hello, %s"라는 서식에 "World!"라는 문자열 값을 붙이고 s1 배열에 저장한 것이다. 2. 숫자를 문자열로 변환 sprintf 함수를 이용해서 숫자를 문자열로 변환할 수 있다. 문자열 배열에 숫자를 저장하고, 출력시 문자열의 포맷으로 출력한다. #define _CRT_SECURE_N..
Reference - C언어 코딩도장 1. strlen( ) - String length #include #include int main() { char* s1 = "Hello"; char s2[10] = "Hello"; printf("%d\n", strlen(s1)); printf("%d\n", strlen(s2)); return 0; } s1은 포인터 형태로 문자열을 저장했고, s2는 배열 형태로 문자열을 저장했다. 그런데 두 문자열의 길이를 출력하면 둘다 5가 출력된다. 배열로 저장한 경우 남은 배열이 모두 NULL값이 들어가지만 strlen 함수는 NULL값을 계산하지 않는다. 2. strcmp( ) - String Compare strcmp 함수는 문자열을 매개변수로 받아서 같은지 비교하는 함수..
Reference - C언어 코딩도장 1. 포인터 기본 #define _CRT_SECURE_NO_WARNINGS #include int main() { int* numPtr; int num1 = 10; int* numPtr2 = 20;// 바로 초기화해서 사용할 수도 있다. numPtr = &num1; *numPtr = 20; printf("%d\n", *numPtr); printf("%d\n", num1); return 0; } 포인터는 자료형에 *를 붙여서 선언한다. 포인터의 특징은 값부에 메모리 주소를 갖는다는 것이다. 위 코드에서 numPtr을 포인터로 선언했고 num1이라는 변수의 주소값을 저장했다. 즉 numPtr이라는 int형 포인터는 num1의 메모리 주소를 갖는다. (애초에 변수 할당하고..
Reference - C언어 코딩도장 1. 입력 값을 배열 형태의 문자열에 저장하기 기본 형태 #define _CRT_SECURE_NO_WARNINGS #include int main() { char s1[10]; printf("문자열 입력: "); scanf("%s", s1); printf("%s\n", s1); return 0; } * scanf() 함수의 경우 보안 문제로 사용하지 않는다고 하나, C 튜토리얼 자료들을 찾아보면 scanf로 먼저 학습을 시작한다. 공백까지 포함해서 입력받으려면 "%s\n" -> "%[^\n]"로 받으면 된다. #define _CRT_SECURE_NO_WARNINGS #include int main() { char s1[10]; printf("문자열 입력: "); sc..
아래 코드 추가 import matplotlib matplotlib.rcParams['axes.unicode_minus'] = False
* Font family [] not found. Falling back to DejaVu Sans 에러의 경우 4번부터 시작 1. 폰트 디렉토리 위치 import matplotlib matplotlib.matplotlib_fname() 2. mpl-data 디렉토리로 이동 matplotlibrc 파일을 실행(메모장) Ctrl + f 눌러서 font.famliy를 검색 normal -> NanumGothic 으로 변경 1). 운영체제에도 해당 폰트가 있어야 한다. 2). 권한 문제로 수정이 안 되는 경우 matplotlibrc 파일 속성에서 사용 권한 수정 나눔고딕 2.0 네이버의 대표적인 무료폰트 software.naver.com 3. ttf 폴더에 NaumGothic.ttf 파일을 추가 4. 캐쉬 경..
1. 입력 개수가 주어지지 않는 입력 # sys 라이브러리의 stdin 메서드 활용 import sys for a in sys.stdin: n = a.input() 2. 출력 print 함수 옵션 # sep -> 문자 사이의 공백 옵션 # end -> 줄바꿈 옵션 print('Hello World!', sep='', end='') 3. 정렬 출력시 방향 설정 # n자리 만큼에서 왼쪽 정렬 print('Hello World!'.ljust(n)) # n자리 만큼에서 오른쪽 정렬 print('Hello World!'.rjust(n)) # n자리 만큼에서 가운데 정렬 print('Hello World!'.center(n)) 4. 재귀 리미트 옵션 파이썬은 재귀 에러 해결 방법 import sys sys.setr..
너비 우선 탐색(BFS) (레이아웃이 PC 에 최적화 되어있습니다.) BFS 알고리즘은 탐색하는 노드가 속한 레벨을 전부 탐색하고 다음 레벨로 넘어간다. 즉 형제 노드를 전부 탐색하고 자식노드로 내려간다. DFS의 경우 큐와 스택 두가지를 활용했는데, BFS는 큐로 구현한다. 위 그래프를 딕셔너리 형태로 표현하면 다음과 같다. graph = dict() graph[0] = [1, 2] graph[1] = [0, 3, 4] graph[2] = [0, 5, 6] graph[3] = [1] graph[4] = [1] graph[5] = [2] graph[6] = [2] res는 최종적으로 반환할 리스트이며 visit은 탐색할 노드들이 담길 리스트다. 가장 먼저 시작 노드인 0이 res 리스트에 추가된다. 다음..