Python 79

[파이썬40작] 03. 텍스트를 음성으로 변환하기

🎮 라이브러리 설치 파이썬에는 누군가 미리 만들어둔 라이브러리(모듈)이 많다 일반적으로 많이 사용하는 건 아나콘다 설치시 함께 설치된다 하지만 내가 사용하고자 하는 라이브러리가 모두 설치되는 건 아니니 필요할 때 마다 설치를 해주어야 한다 터미널을 열고 명령어를 입력한다 ✅ 터미널 열기 ctrl키와 `키를 동시에 누르거나 메뉴에서 터미널 → 새 터미널을 통해 열 수 있다 쓰레기통 버튼을 누르면 터미널이 종료된다 여러개의 터미널을 열 수도 있다 ✅ gtts 라이브러리 문자를 음성으로 변환해주는 라이브러리 ✅ playsound 라이브러리 mp3 파일을 파이썬에서 재생하기 위한 라이브러리 ✅ 엑세스 거부 에러 엑세스 거부 에러가 뜨면 VSCode를 관리자 권한으로 실행하여 다시 시도한다 🎮 텍스트를 음성으로 ..

[파이썬40작] 01. 숫자 맞추기 게임 만들기

1부터 100까지의 임의의 수를 생성하고 생성된 임의의 수를 맞추는 게임 프로그램 숫자를 하나 입력하면 임의로 생성된 수보다 높은지 낮은지 정답인지를 알려준다 정답을 맞힌 경우 정답을 몇 번 만에 맞추었는지 그 결과로 게임의 승부를 알 수 있다 👉🏻 random함수 기능들 random.random() 0.0에서 부터 0.999999 사이의 실수를 반환한다 random.uniform(a, b) a와 b 사이의 실수값을 반환한다 random.randint(a, b) a와 b사이의 정수값을 반환한다 random.randrange(a, b) a와 b사이의 정수값을 반환한다 random.randrange(a) 인자가 하나일 경우 0부터 a사이의 정수값을 반환한다 random.choice(type) type에는 문..

[파이썬40작] 00. 파이썬 문법

👉🏻 print문 print("hello") print("hello") 큰 따옴표 혹은 작은 따옴표로 감싼다 둘 다 같은 결과를 낸다 print('hello "안녕하세요"') print("hello '안녕하세요'") 따옴표를 출력하고 싶다면 작은 따옴표 안에는 큰 따옴표를, 큰 따옴표 안에는 작은 따옴표를 입력한다 print("안녕", "하세요", "반갑습니다") print("안녕" + "하세요" + "반갑습니다") 여러개의 문자열을 이어주고 싶다면 ,(콤마) 혹은 + 로 연결시킬 수 있다 콤마의 경우 자동으로 문자열 사이를 띄워준다 print( """안녕하세요 오늘은 날씨가 좋네요""" ) print( '''안녕하세요 오늘은 날씨가 좋네요''' ) print("안녕하세요" \ "오늘은 날씨가 좋네요")..

26~27강 :: 이진 탐색 개요 및 기초 문제 풀이

👉🏻 이진 탐색 알고리즘 순차 탐색: 리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 확인하는 방법 이진 탐색: 정렬되어 있는 리스트에서 탐색 범위를 절반씩 좁혀가며 데이터를 탐핵하는 방법 이진 탐색은 시작점, 끝점, 중간점을 이용하여 탐색 범위를 설정한다 - 순차 탐색은 기본적인 형태의 데이터 탐색 알고리즘이다 - Ex) 선택 정렬에 서 매 단계마다 가장 작은 데이터를 찾는 것 - 리스트에서 특정 데이터가 존재하는지 검사할 때 별다른 말이 없다면 기본적으로 순차 탐색을 이용 - 이진 탐색은 기본적으로 리스트가 정렬되어있을 때 사용 가능 - 이 조건을 만족한다면 빠르게 데이터를 탐색할 수 있어 log시간의 시간복잡도를 가질 수 있다 - 탐색 범위를 정해줘야한다 - 중간점: 시작점과..

21~25강:: 정렬 알고리즘

👉🏻 정렬 알고리즘 정렬(Sorting)이란 데이터를 특정한 기준에 따라 순서대로 나열하는 것 일반적인 문제 상황에 따라서 적절한 정렬 알고리즘이 공식처럼 사용된다 - 데이터의 개수가 적을 때 - 데이터의 개수가 많지만 데이터의 범위가 특정 범위로 한정되어있을 때 - 이미 데이터가 거의 정렬되어 있는 경우 - 값을 기준으로 정렬한 결과를 어떻게?? - 사람은 한 눈에 보이지만, 컴퓨터는 구체적 알고리즘을 통해 명시해주어야한다 1️⃣ 선택 정렬 처리되지 않은 데이터 중에서 가장 작은 데이터를 선택해 맨 앞에 있는데 이터와 바꾸는 것을 반복한다 - 매번 현재의 범위에서 가장 작은 데이터를 골라 가장 앞으로 보내주는 것이다 - 첫 번째 원소 정렬 완료 - 나머지 중에서 가장작은 1 - 처리되지 않은 원소가 하..

18~20강 :: DFS 알고리즘, BFS 알고리즘

👉🏻 DFS(Depth-First Search) DFS는 깊이 우선 탐색이라고도 부르며 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘이다 DFS는 스택 자료구조(혹은 재귀함수)를 이용한다 구체적 동작 과정 탐색 시작 노드를 스택에 삽입하고 방문 처리를 한다 스택의 최상단 노드에 방문하지 않은 인접한 노드가 하나라도 있으면 그 노드를 스택에 넣고 방문처리한다. 방문하지 않은 인접 노드가 없으면 스택에서 최상단 노드를 꺼낸다 더이상 2번의 과정을 수행할 수 없을 때까지 반복한다 - 매번 최 상단 원소를 기준으로 해서 방문하지 않은 인접 노드가 있으면 그 인접한 노드로 방문을 수행 👉🏻 DFS 동작 예시 - 방향이 없는 무방향 그래프 - 인접한 노드가 여러개일 수 있다 - 어떤 노드부터 방문할지에 대한 ..

17강 재귀 함수

👉🏻 재귀 함수 재귀 함수(Recursive Function)란 자기 자신을 다시 호출하는 함수를 의미한다 - DFS를 실질적으로 구현하고자 할 때 자주 사용되는 방법 중 하나 단순한 형태의 재귀 함수 예제 '재귀 함수를 호출합니다'라는 문자열을 무한히 출력한다 어느 정도 출력하다가 최대 재귀 깊이 초과 메시지가 출력된다 - 반복적으로 자기 자신을 호출해서 프린트문을 출력함 - 파이썬에서는 최대 재귀 깊이가 정해져있어 별다른 설정 없이 이런 코드를 실행할 경우 오류 메세지와 함께 프로그램 종료 - 컴퓨터 시스템 상에서 함수가 재귀적으로 호출되면 컴퓨터 시스템의 스택 프레임에 이러한 함수가 반복적으로 쌓여 가장 마지막에 호출된 함수가 처리된 이후 그 함수를 불렀던 함수까지 처리되는 방식 - 이러한 형태가 ..

16강 스택과 큐 자료구조

그래프 탐색 알고리즘: DFS / BFS 👉🏻 그래프 탐색 알고리즘: DFS / BFS 탐색(Search)이란 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정을 말한다 대표적인 그래프 탐색 알고리즘으로는 DFS와 BFS가 있다 DFS/BFS는 코딩 테스트에서 매우 자주 등장하는 유형이므로 반드시 숙지해야 한다 - 다양한 알고리즘에서 특정 조건에 맞는 데이터가 존재하는지, 존재한다면 어떤 위치에 존재하는지 찾고자 하는 목적으로 다양한 탐색 알고리즘을 사용한다 - 국내 대기업 공채에서는 DFS/BFS를 적절히 활용해야 하는 문제가 자주 출제됨 👉🏻 스택 자료구조 먼저 들어 온 데이터가 나중에 나가는 형식(선입후출)의 자료구조 입구와 출구가 동일한 형태로 스택을 시각화할 수 있다. - 여러개의 박스를 쌓아..