Python 3.10이 업데이트되면서 변화되거나 추가된 사항들이 있다. 공식문서: https://www.python.org/downloads/release/python-3100/ match / case 패턴 매칭은 C 언어에서 제공하는 switch/case 문과 유사하다. 하지만 패턴이 일치하면 해당 구문을 실행한 후, break 없이도 match문을 빠져나간다. a = 50 match a: case 50: print("50") case 100: print("100") case _: print("Nothing") # Output: 50 마지막 case _ 는 일치하는 값이 없을 때, 실행하는 구문이다. 만약 case _ 를 선언하지 않으면 아무 실행 없이 match 문을 종료한다. num = 1, 2 m..
C 언어의 문자열은 char의 배열로 이루어진다. 그리고 배열의 끝은 '\0'(NUL)로 끝난다. "DeneV" {'D', 'e', 'n', 'e', 'V', '\0'} "DeneV"라는 문자열은 "DeneV\0"로 구성되어 있기 때문에 6 Byte의 크기를 가진다. 선언 char str[] = {'D', 'e', 'n', 'e', 'V', '\0'}; char str[] = "DeneV"; char str[5] = "DeneV"; // 주의 char str[5] = "abc"; // {'a', 'b', 'c', '\0', '\0'} 배열과 같은 방식으로 선언하거나 " "(큰 따옴표)를 활용해 선언할 수 있다. 선언된 문자열보다 배열의 크기가 클 경우, 빈 공간은 '\0'로 선언된다. 입출력 char s..
Source code: github GitHub - Denev6/tkinter-design: Python tkinter GUI Design Python tkinter GUI Design. Contribute to Denev6/tkinter-design development by creating an account on GitHub. github.com 순서로 제작되어 있으며, 상황에 따라 일부 내용이 생략되어 있습니다. 기본 정보 Contributors 코드: DeneV 아래 작성된 코드는 전체 프로젝트 중 일부를 편집하여 작성되었습니다. 프로젝트: Team Palette Licenses & Copyrights Code 코드는 수정 / 배포 / 사적 목적으로 사용할..
일반적으로 Pandas를 이용해 데이터를 정리하지만, openpyxl로 엑셀 데이터(.xlsx)를 다루는 방법도 있다. 이번 분석에 사용할 데이터는 공공데이터포털에서 다운로드 받을 수 있다. 파일이름을 "pohand_food.xlsx"로 변경하여 사용하였다. 엑셀 행 / 열 엑셀에서의 행은 1, 2, 3 ... 열은 A, B, C ... 와 같이 구성되어 있다. 그리고 "열+행"의 형태로 위치를 나타낸다. 행이 "3", 열이 "B"라면 "B3"과 같이 나타낸다. A B C D E 1 A1 B1 C1 D1 E1 2 A2 B2 C2 D2 E2 3 A3 B3 C3 D3 E3 4 A4 B4 C4 D4 E4 5 A5 B5 C5 D5 E5 실습 from openpyxl import load_workbook, Wor..
DFS (Depth-Fisrt Search) DFS: 깊이 우선 탐색 트리 상에서 자식 노드가 있다면, 아래(자식 노드)로 계속 전진하여 탐색하는 방법. 위 그림에서 각 노드의 번호는 탐색 순서를 뜻한다. 1번 노드는 2, 5번 노드를 자식으로 가진다. 하지만 2번 노드가 자식 노드를 가지기 때문에 5번 노드를 탐색하기 전 3, 4번 노드를 우선 탐색한다. 2번 노드에 다른 자식 노드가 없기 때문에 다시 5번 노드를 탐색하는 형태이다. 구현 - Python - open 리스트: 탐색하지 않은 상태(노드)들 - close 리스트: 탐색을 마친 상태(노드)들 DFS는 스택(stack)을 이용하여 구현할 수 있다. (FILO) def dfs(graph, start_node): # open list: stack..
하노이 탑 문제: 3개의 기둥이 있으며 한 기둥에 원판들이 쌓여있다. 그리고 아래 규칙에 따라 원판을 다른 기둥으로 이동시켜야 한다. 규칙: 한 번에 하나의 원판을 이동시킬 수 있으며, 큰 원판이 작은 원판 위에 있으면 안 된다. 문제 해결 문제를 일반화하기 전, 3개의 원판을 가진 하노이탑 문제를 고민해보면 아래 그림과 같다. 3개의 원판을 이동시키기 위해서는 먼저 2개의 원판을 임시 기둥(B)으로 옮겨야 한다. 그런 후, 가장 큰 원판을 목표 기둥(C)으로 옮길 수 있다. 같은 원리로 2개의 원판을 목표 기둥(B)으로 이동하기 위해서는 임시 기둥(C)으로 작은 원판을 이동해야 한다. 문제 일반화 1. n개의 원판을 옮기기 위해 n-1개의 원판을 목표 기둥이 아닌 임시 기둥으로 옮겨야 한다. (n≥2)..