본문 바로가기

취준생341

[Python] 백준 1374 - 강의실 🧑‍💻 [Python] 백준 1374 - 강의실 Gold 5 - 정렬, Heap 최대한 적은 수의 강의실을 사용하여, 모든 강의를 진행해야 한다 문제풀이 시간 초과 강의 시간들을 강의 시작 시간 기준으로 오름차순으로 정렬했다 그리고 강의가 끝나는 시간 기준으로 다시 오름차순으로 정렬을 했다 그리고 while문을 돌면서, 강의들을 뺐다 여기서 하고 싶었던 것은 강의실 당 들어가는 강의 시간들을 구하는 것이었다 그렇게 되면 한 강의실에 대한 스케줄이 나오고, 강의 시간이 아직도 남아있으면, 다시 while문을 반복해야 한다 반복하는 것을 강의 시간이 아예 없을 때까지 진행을 하는 것이다 Heap으로 풀기 위에는 한 강의실에 대한 스케줄을 강의 시간이 다 없어질 때까지 짜는 것이었다 Heap으로 풀게 되면 강.. 2023. 1. 14.
Udemy : Python 커피 머신 프로젝트 Udemy : Python 커피 머신 프로젝트 3개 종류의 커피들이 주어진다 필요한 재료와 금액이 주어진다 유저는 어떤 커피를 마실지, 그리고 동전 얼마를 넣을지 입력을 한다 입력에 따라, 재료가 부족하든지, 금액이 부족하든지, if문을 넣었다 여기서 제일 집중했던 것은 함수를 만드는 것이었다 is_sufficient : 안에 재료가 적당히 있는지 확인하는 함수 make_coffee: is_sufficient가 True를 반환하면, 커피를 만드는 함수이다 money_change: 금액을 계산하는 함수이다 함수를 사용해서, 2개 이상의 변수를 반환했다 튜블로 반환이 되어서, 인덱스를 통해, 내가 원하는 데이터를 활용했다 MENU = { "espresso": { "ingredients": { "water":.. 2023. 1. 14.
[Python] 백준 1931 - 회의실 배정 🧑‍💻 백준 1931 - 회의실 배정 Silver 1 - 정렬 회의실 한 개가 있다 입력값으로 회의 시작 시간과, 회의 끝나는 시간이 주어진다 시작 시간과, 끝나는 시간은 같을 수 있지만, 회의끼리 겹치면 안 된다 즉 시작하는 시간 순으로 먼저 정렬을 한 후, 또 한번 회의가 끝나는 순서로 정렬을 하면 된다 제일 중요한 것은 회의가 일찍 끝날수록, 더 많은 회의를 회의실에서 할 수 있다 문제 풀이 회의가 시작하는 시간 기준으로 정렬을 한다 그리고 회의가 끝나는 시간 기준으로 정렬을 한다 결과적으로 회의가 끝나는 시간 기준으로 정렬이 되어 있다 정렬된 회의 중 첫 회의는 무조건 진행을 한다 for문을 돌면서 전 회의의 끝나는 시간과 현재 회의의 시작 시간이 같거나 더 클 때에, meeting_now 를 갱.. 2023. 1. 13.
Python 유효 범위 (로컬 범위, 글로벌 범위) Udemy : Python 유효 범위 (로컬 범위, 글로벌 범위) Scope enemies = 1 def increase_enemies(): enemies = 2 print(f"enemies inside function: {enemies}") increase_enemies() print(f"enemies inside function: {enemies}") # output 1 : enemies inside function: 2 # output 2 : enemies inside function: 1 output 1 함수에서 가지고 온 enemies output 2 함수 밖에 있는 enemies=1을 가지고 왔다 Local Scope (로컬 범위) 로컬 범위는, 함수 안에 있는 것이다 변수를 함수 안에 넣게 .. 2023. 1. 13.
Udemy : Python 블랙잭 프로젝트 Udemy : Python 블랙잭 프로젝트 카드를 뽑아서, 카드의 숫자들을 더해서 21 이하로 맞추는 것이다 21 이상이고, 상대방이 21 이하이면, 무조건 지는 것이다 상대방과 비교해서, 둘 다 21 이하일 때, 21과 제일 가까운 숫자가 이기는 것이다 J, Q, K = 10 A = 1 또는 11 2~10은 각자 주어진 번호 첫 카드는 공개이다 공개를 했는데, 17 이하이면, 무조건 추가 카드를 받아야 한다 import random from replit import clear from art import logo def deal_card(): """returns random card from the deck""" cards = [11, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 1.. 2023. 1. 12.
Udemy - Javascript - 재귀 문제풀이 Udemy - Javascript - 재귀 문제풀이 Power() 거듭제곱을 재귀로 만든다 function power(num1, num2) { if (num2 === 0) return 1; return num1 * power(num1, num2 - 1) } num2 가 0이면 1을 반환한다 예) 2 ^ 0 = 1 / 4 ^ 0 = 1 num2가 0이 될때까지 return num1 * power(num1, num2 - 1)를 call stack에 넣어준다 num2가 0이 되면 if (num2 === 0) return 1;을 통해 1을 반환한다 call stack에 넣어둔 만큼 num1을 power(num1, num2 - 1)과 곱하면 결과값이 나온다 Factorial() 팩토리얼을 계산 하는 것이다 주어진.. 2023. 1. 11.
Udemy : Python 출력과 함수 Udemy : Python 출력과 함수 Functions with Output def my_function() : result = 3 * 2 return result my_function() # result가 출력된다 output = my_function() # result가 output으로 저장된다 함수를 정의하고, 함수를 사용할 때에 출력하는 값이 나오도록 만들고 싶을 때에 return을 사용한다 실습 1 년도와 달을 입력 받는다 년도가 윤년인지 확인하고, 해당 연도의 달에 날 수를 출력한다 def is_leap(year): if year % 4 == 0: if year % 100 == 0: if year % 400 == 0: return True else: return False else: retu.. 2023. 1. 11.
인공지능 - 뇌와 신경망 모델 인공지능 - 뇌와 신경망 모델 K-MOOC 인공지능 만들기 뇌와 컴퓨터 1943년 McCulloch & Pitts 는 사람 뇌의 신경세포들이 논리회로의 AND OR NOT 게이트 연산을 수행할 수 있다고 했다 즉 컴퓨터가 뇌처럼 계산하고 문제를 해결할 수 있다고 생각하기 시작했다 컴퓨터 빠르고 상당히 정확하다 (논리소자) 디지털 회로망 (전자 회로망) / 주소기반 메모리 (국지적 / 독립적) 어느 파일에서 어떤 것이 저장이 되어 있는지 꺼내서 사용을 한다 논리 / 산술적 연산 (조작적) 기호로 symbol을 정해 표현을 한 다음, 그것을 조작하여 추론을 한다 중앙집중식 순차 처리 프로그래밍기반 명시적 지식 지식을 넣을 수는 있지만, 학습을 못 하는 것이 단점이다 뇌 부정확하고 속도도 느리다 (신경세포) .. 2023. 1. 11.
Udemy - Javascript - 재귀 Udemy - Javascript - 재귀 재귀 (Recursion) 재귀는 자기 자신을 부르는 과정, (Javascript 같은 경우 함수) 이다 함수가 함수를 부르는 것이다 재귀 함수는 많은 곳에서 쓰인다 JSON.parse / JSON.stringify document.getElementById 그리고 DOM 등 많은 div가 있는데, 그것을 찾기 위해 재귀 함수를 사용할 수도 있다 더 복잡한 자료구조를 해결할 때 유용할 수 있다 iteration보다 더 깔끔할 대체자가 될 수 있다 스택 호출하기 Call Stack 스택 자료 구조다 (스택은 LIFO - Last In First Out) 함수가 적용될 때마다 Call Stack 위에 쌓이게 된다 (PUSH) 그리고 JavaScript가 return.. 2023. 1. 10.