본문 바로가기

분류 전체보기383

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.
[Python] 백준 2437 저울 🧑‍💻 백준 2437 저울 Gold 2 주어진 저울 추의 무게들을 오름차순으로 정렬을 한다 그 저울 추들을 가지고 1부터 몇 번까지 무게를 측정할 수 있는지 구하는 것이다 예를 들어 주어진 저울 추들로 1부터 20까지 무게를 측정할 수 있다. 그러면 답은 21이다. (21부터는 무게를 측정하기 어려우니깐) 문제 풀이 먼저 주어진 리스트를 오름차순으로 정렬을 한다 target을 주어야 하는데, target은 1부터 시작한다. 위에 예시처럼 1부터 20까지 무게를 측정할 수 있지만, 21부터는 측정하기 어려우니 20 + 1을 해야 해서 target을 1로 저장을 한다 그리고 weight리스트를 순회를 한다 여기서 target보다 순회하는 저울추가 더 크면 for문을 끝낸다 target보다 순회하는 저울추가 .. 2023. 1. 11.
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.
Udemy : Python 딕셔너리 Udemy : Python 딕셔너리 딕셔너리 name = { "Alex" : 2; "Lisa" : 1; "Joon" : 1; } "Alex", "Lisa", "Joon" 은 key 2, 1, 1은 value들이다. 즉 key의 값들이다 딕셔너리는 key를 통해서 값을 가지고 올 수 있다 name["Alex"] 는 2로 출력된다 name = { "Alex" : 2, "Lisa" : 1, "Joon" : 1, } print(name["Alex"]) # 2 name["Yang"] = 5 print(name) # { # "Alex" : 2, # "Lisa" : 1, # "Joon" : 1, # "Yang" : 5, # } # Yang이 key로, 5가 Yang의 값으로 추가가 되었다 name["Joon"] = .. 2023. 1. 10.
인공지능 - 지식 표현 인공지능 - 지식 표현 K-MOOC 인공지능 만들기 상식적 지식 기계가 인간들의 일반 상식을 가지게 할 수 있는지가, 아직 풀리지 않은 숙제이다 인간들에게는 너무나도 당연한 것은 기계들을 추론을 못 할 수 있다 예) 컵이 떨어지면, 컵이 깨진다는 인간들에게는 너무 당연한 것이다. 하지만 로봇은 아직 컵이 떨어지면, 컵이 깨진다는 추론을 못 할 수도 있다 지식 표현의 세 가지 방법 Semantic Network (의미망) 인공지능에서 지식 표현을 위한 그래프 구조 노드와 링크로 구성된 그래프 구조다 위 같은 경우 Jerry가 동물이란 것을 알기 위해, Jerry는 고양이라는 노드로 옮기고, 고양이는 mammal이라는 노드로 옮기고, 그리고 mammal은 동물이다 라는 노드까지 가야, Jerry가 동물이다 .. 2023. 1. 10.