-
004 몇 개의 의상 조합이 가능한지 찾기2024.10.0111패션 마을의 옷장 마법사옛날 옛적, 패션 마을이라는 곳에 아리라는 이름의 옷장 마법사가 살고 있었습니다. 아리는 마을 사람들에게 멋진 옷을 조합해주는 특별한 능력을 가지고 있었죠.어느 날, 마을에 새로운 옷들이 도착했습니다. 아리는 이 옷들을 잘 정리하고, 마을 사람들에게 다양한 스타일을 제안하기로 마음먹었습니다. 옷들은 각각 종류가 있었는데, 예를 들어 "노란 모자"는 머리장식, "파란 선글라스"는 액세서리, "초록 터번"도 머리장식에 속했죠.아리는 먼저 각 종류별로 옷의 개수를 세기 시작했습니다. 머리장식에는 노란 모자와 초록 터번, 액세서리에는 파란 선글라스가 있었습니다. 그러고 나서, 각 종류별로 하나를 선택하거나 선택하지 않는 경우의 수를 계산했습니다. 예를 들어, 머리장식은 2가지 선택지(노란..
003 소수 찾기2024.09.294문제 출처 : https://youtu.be/m3kCKV8oc1g?si=WTrr9omSekICyslD 한 자리 숫자가 적힌 종이 조각이 흩어져 있습니다. 흩어진 종이조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. Loop 활용 1. 숫자 조합 2. 소수가 아닌 수 제거 : 에라토스테네스의 체 사용3. permutation, map, set 등을 활용하여 손쉽게 확인 from itertools import permutationsdef solution(numbers): prime_set = set() # 1. Make all possible number combinations from the given numbers for i in range(len(numbers)): ..
002 전화번호 목록2024.09.27전화번호에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인해야 함 접두어이면 False, 아니면 True 전화번호부에 적힌 전화번호를 담은 배열phone_book이 solution 함수의 매개 변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 False를 그렇지 않으면 True를 return 하도록 solution 함수를 작성해 주세요. : 왜 하필이면 전화번호 목록이지? 접두어가 있는지 확인할 일이 뭐가 있지.. 비교할 첫 번째 전화번호를 선택하고, 비교할 두 번째 전화번호를 선택하고, startswith 함수를 사용해 서로가 서로의 접두어인지 확인한다. def solution(phone_book): # 1. Sort the phone book ..
001 Did not finish2024.09.24완주하지 못한 한 선수를 찾아야 한다. 마라톤에 참여한 선수들의 이름이 담긴 배열이 주어질 때, 완주하지 못한 선수의 이름을 반환하도록 soloution 함수를 작성하자 마라톤 경기에 참여한 선수의 수는 1명 이상, 100,000명 이하이다. completion의 길이는 participant의 길이보다 1 작다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있다. 참가자 중에는 동명 이인이 있을 수 있다. participantcompletionreturnc, a, bb, ca a를 찾으시오. 1. sorting / loop을 활용2. hash를 활용3. collections.Counter 활용 1. sorting 두 리스트를 정렬하여 completion list의 lengt..
폴더 파일 다루기 Python os, shutil, collections...2024.02.07os.mkdir() : 디렉토리 생성 os.makedirs() : 인자로 받은 경로에 디렉토리 생성 (모든 경로 디렉토리 없으면 생성함) import os if os.path.exists('ex_folder'): print('The folder already exists.') else: os.mkdir('ex_folder') print('The folder has been created.') os.makedirs('ex_folder/20240206') shutil.copy() : 파일 복사 shutil.copytree() : 디렉토리 복사 import shutil shutil.copytree('D:\ex_folder', 'ex_folder') import shutil shutil.copy('ex_fold..
Python FastAPI Framework 참고2024.01.10구상하고 있는 홈피에 적용해볼까 싶음 https://fastapi.tiangolo.com/ko/ FastAPI FastAPI framework, high performance, easy to learn, fast to code, ready for production fastapi.tiangolo.com FastAPI 파이썬으로 간단하게 웹 API 만들기 FastAPI 파이썬으로 간단하게 웹 API 만들기 - 오픈소스컨설팅 테크블로그 % FastAPI는 Python을 기반으로 개발된 현대적이고 빠른 웹 프레임워크 입니다. FastAPI의 기본 개념과 특징, CRUD 예시를 통해 간단한 REST API 구현 까지 다뤄보았습니다. tech.osci.kr https://lsjsj92.tistory.com/648..
Python, Numpy 넘파이 라이브러리, Broadcasting2023.06.27Numpy Numerical Python의 약자, 산술 계산용 라이브러리 https://numpy.org/doc/stable/user/absolute_beginners.html NumPy: the absolute basics for beginners — NumPy v1.25 Manual NumPy: the absolute basics for beginners Welcome to the absolute beginner’s guide to NumPy! If you have comments or suggestions, please don’t hesitate to reach out! Welcome to NumPy! NumPy (Numerical Python) is an open source Python libr..
웹파싱 BeautifulSoup, data crawling, requests, open()2023.06.25파이썬 공부에 유용한 사이트들 파이썬이나 다른 프로그래밍 언어들 연습문제 풀고 단계별로 학습할 수 있는 곳 꾸준히 문제를 풀면 좋습니다! Baekjoon Online Judge https://www.acmicpc.net/ Baekjoon Online Judge Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다. www.acmicpc.net SW Expert Academy https://swexpertacademy.com/main/main.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com Programmers https://www.programmers.co..
pip, os, random, math, time, datetime, 삼항연산자2023.06.24내가 뭐 할지 생각하면서 프로그래밍해야겠죠 개발 시 테스트를 반드시 하게 되는데, 어떤 문제가 생길 지 미리 생각해보는 연습을 해보는 것이 좋습니다. 함수화 할 수 있는 것, 기능 단위별로 묶을 수 있는 능력을 키우는 것이 좋습니다. 코드는 위에서 아래로 순서대로 작동한다. 중간에 막혀서 넘어가지 못하면 동작 종료됨 Module import하고 Method 오버라이딩Overiding 해주기~ max_limit_calculator.py 파일을 생성하여 작성하세요. my_calculator 모듈의 MyCalculator 클래스를 상속받아서 MaxLimitCalculator 클래스를 정의하세요. add, sub, mul, div 메소드를 사용하여 더하기 빼기 곱하기 나누기를 할 수 있다. 0으로 나누었을 때 ..
OOP, Class, instance, method, module, 상속, 예외처리2023.06.24비슷한 용어도 나오고 새 용어 계속 나오는데 헷갈리죠. 실제로도 그게 그거예요. 비슷하지만 좀더 좋은 걸로 쓰는 거죠. 지금은 일단 모르면 아는 데까지만 쓰면 됩니다. 더 배우는 건 좀더 효율적으로 쓰고, 성능 좋게 쓰려고 하는 거죠. 많이 알면 알수록 더 잘 만들 수 있습니다. 코드 읽고 이해하면 갖다 쓸 수 있게 됩니다. 자동차와 비슷해요. 직접 수리하는 카센터에 취직하느냐, 사용할 줄 아는 운전자가 되느냐. 이쯤 되면 운전 면허 정도는 딸 수 있습니다. 이제 도로주행을 연습하면서 실력을 늘리면 됩니다. 실력을 키울 때는 목표 지점을 잡고 갈 수도 있습니다. 일단은 1번을 진행하고 있고요. 2번, 3번도 순차적으로 진행하면 됩니다. 1. 인공지능 학습을 시키기 좋은 데이터로 정리해서 만들 수 ..
파일생성 데이터 입출력, formatting 문자열 포매팅, f-string2023.06.221# 핵심은 동작 계산을 잘 정해주는 것. 로직을 짜는 것. # 백업하는 습관 잘 들여야 한다. 지금은 어렵거나 이해가 잘 가지 않더라도 딱히 방법이 없다. 코드에 많이 접하고 작업하다보면 감이 온다. 감이 왔을 때 찾아보면 나온다. 파이썬은 배울 것도 볼 것도 많다. 그것들을 찾아 보면서 공부하면 좋다. 이제부터 평생 이 언어를 쓸 수도 있다고 생각한다. 2개국어를 하는 사람이라고 생각하면 된다. 맨날맨날 공부해야 한다. 나는 즐긴다고 세뇌하면서 보면 좋다. ex) 정수 n을 입력받고, n보다 작은 수 중 3의 배수와 5의 배수를 모두 더한 합을 반환하는 함수를 정의하라 함수 이름 : sum_3_5 def sum_3_5(n): for i in range(n): if i % 3 == 0: i += 1 f..
Python function 내장 함수, 사용자 정의 함수, 매개 변수2023.06.21지금은 잘 모르겠어도 쓰고 사용하다 보면 받아들여진다... 많이 찾아보고 써보면서 감을 잡는 것이 중요함. 반복숙달!! 백문이불여일타 : 안 보고 쳐보기 해야 실력이 는다. 프로그래밍으로 데이터의 용도에 따라 그래프 형태로 전처리 하는 법, 그리는 법, 인공지능 개발하기 좋게 데이터 처리하는 법, 어떤 값을 가지고 학습시킬 것인지 어떤 값을 넣어줄 것인지 등을 진행하게 될 것이다. 이번 주에는 교재 내용은 다 해서 교재에 없어도 활용하기 좋은 것들, 클래스, 객체지향 라이브러리 만들기 가져오기 등등을 알려드리겠습니다. 하루에 많은 정보를 습득하고 있다. 수업 시간에 한정이 있어서 빨리 진행되니 저얼대 빠지지 마세요... 지난 주까지는 초급 기초를 진행했다고 할 수 있음 이번 주에는 초~중급으로 기초에서..
tuple 튜플, mutable, immutable, markdown 마크다운2023.06.20# 초심 중요합니다 길지 않은 시간에 많은 공부를 해야 하는데, 힘든 것은 당연합니다. 지나치게 무리하지는 말고 감당 가능한 선에서 꾸준히 진행하세요. 꾸준함이 쌓이면 목표로 한 성과를 얻을 수 있습니다. markdown 문법 html 같은 markup 언어 중 하나라고 함 마크업 언어(markup language) : 태그 등을 이용해 데이터의 구조를 표현하는 방식을 말한다. 일반적인 프로그래밍언어와 약간의 차이를 보인다. ## 2개 ### 3개 #### 4개 ## 목록 기호 - -쓰거나 * *쓰거나 + +쓰거나 똑같이 취급된다. 단계depth는 탭으로 구분할 수 있다. - 목록1 * 목록1-1 + 목록1-2 - 목록1-2-1 * 목록1-2-2 ## 표 열1 | 열2 ----|---- 행1열1|행1..
Python 반복문 while, for, 이중 반복문, 구구단, 자판기2023.06.19지금 어려운 것은 당연하다. 숫자 변수 흐름이 예측이 안되어서 더 그렇다. 코드와 가까워지게, 익숙해지게 최대한 다양한 코드를 많이 봐야 한다. 함수 이름을 외우는 것보다 내가 어떤 동작을 설계할 것인지가 중요하다. 스스로 생각하고 동작을 설계한 후 방법을 찾아보는 것도 좋다. 혼자서 직접 작업을 해보는 습관을 꼭 들여야 한다. if문은 특정 조건에서 어떤 동작을 수행하게 하기 위해서 사용한다. 조건문은 동일한 행동을 반복하는 구문이다. 조건문과 함께 가장 중요하다고 생각하는 것이 '반복문'이다. 머신러닝 등 많은 데이터를 처리할 때 동일한 형태로 모두 바꿔야 하는데... 하나하나 바꿀 수는 없다. 이럴 때 사용하는 것이 반복문이다. Python에서는 반복문에 while과 for를 사용한다. while..
REST API, MySQL, POSTMAN, Python flask(class 함수 (Resource)), Python mysql.connector2023.06.19REST API Server 개발 REST : Representational State Transfer (RESTful) API : Application Programming Interface "Representational State Transfer(REST)는 API 작동 방식에 대한 조건을 부과하는 소프트웨어 아키텍처입니다. REST는 처음에 인터넷과 같은 복잡한 네트워크에서 통신을 관리하기 위한 지침으로 만들어졌습니다. REST 기반 아키텍처를 사용하여 대규모의 고성능 통신을 안정적으로 지원할 수 있습니다. 쉽게 구현하고 수정할 수 있어 모든 API 시스템을 파악하고 여러 플랫폼에서 사용할 수 있습니다. API 개발자는 여러 아키텍처를 사용하여 API를 설계할 수 있습니다. REST 아키텍처 스타..
Python 내장 함수들, list, tuple, indexing, slicing2023.05.29input() 사용자로부터 정보를 입력받는 함수 user_input = input() print(user_input) user_input int() integer형, int형, 정수형 정수형 변환 함수 (형 변환 함수. 파이썬에서 가능) int(값) """ eng 변수, kor 변수, math 변수를 만들고 각 변수는 과목의 시험 점수이다. 각 과목의 점수를 입력할 수 있도록 input()을 사용한다. 3과목 점수의 평균을 내고 평균 점수에 따라 성적을 출력한다. A : 91 ~ 100 B : 81 ~ 90 C : 71 ~ 80 D : 61 ~ 70 F : 60 이하 """ eng = input("영어 점수: ") eng = int(eng) kor = int(input("국어 점수: ")) math = ..
컴퓨터, 데이터 저장방식, 구조적 프로그래밍, 파이썬 형식 등2023.05.292컴퓨터의 정의 전자 회로를 이용한 고속의 자동 계산기 (냉장고, 휴대폰, 컴퓨터, 세탁기 등등) 하드웨어Hardware와 소프트웨어Software로 이루어져 있다. Von Neumann architecture 폰 노이만 구조 입력장치 >> 주기억장치 제어장치 >> 연산장치 주기억장치>> 출력장치 중앙처리장치(CPU) 안에 제어장치와 연산장치가 있다. 프로그램 실행과 데이터 처리라는 중추적인 기능의 수행을 담당 입출력 저장장치 제어 산술연산장치 제어장치 폰 노이만 아키텍처와 하버드 아키텍처는 컴퓨터 구조의 한 종류이다. - 산술 논리 장치와 프로세서 레지스터를 포함하는 처리 장치 - 명령 레지스터와 프로그램 카운터를 포함하는 컨트롤 유닛 - 데이터와 명령어를 저장하는 메모리 - 외부 대용량 저장소 - 입출..
TensorFlow, 오픈소스 머신러닝 플랫폼 (링크만 있음)2023.05.29https://www.tensorflow.org/?hl=ko TensorFlow 모두를 위한 엔드 투 엔드 오픈소스 머신러닝 플랫폼입니다. 도구, 라이브러리, 커뮤니티 리소스로 구성된 TensorFlow의 유연한 생태계를 만나 보세요. www.tensorflow.org 공식에 친절하게 잘 설명되어 있다. 엔드 투 엔드가 뭐지..? 역시 좀더 쉽게 설명해 주시는 분이 있다. https://velog.io/@jeewoo1025/What-is-end-to-end-deep-learning What is end-to-end deep learning? end-to-end learning은 입력에서 출력까지 파이프라인 네트워크 없이 신경망으로 한 번에 처리한다는 의미이다. 파이프라인 네트워크란 전체 네트워크를 이루는..
print("Hello world"), GIT, Github, Escape character2023.05.28프로그래밍 개념 습득, 개발, 배포까지 6개월에 걸쳐 진행할 예정 초반에 개념들을 확실히 익혀둬야 나중에 공부 따라갈 수 있음 프로그래밍 언어는 같은 뿌리에서 가지치듯이 개발된 언어라서 하나를 잘 해두면 다른 언어를 배울 때 더 수월하다고 함 Welcome to Python.org The official home of the Python Programming Language www.python.org 파이썬 Python 설명, 설치 현재 최신 버전은 3 Python Release Python 3.9.13 | Python.org 파이썬 장점은 문법이 쉬워 비교적 배우기 쉽다고 한다. 인기가 있어서 라이브러리나 기술, 오류(debug/debugging) 등 각종 자료들 검색에 용이하다. 단점은 일반에 배포하..