본문 바로가기
반응형

● 알고리즘, 자료구조/2021 알고리즘43

[NIPA AI 기초과정] 함수, 메서드, 매개변수, 인자 함수 함수 plus_print()을 만들어봅시다. 매개변수 : a, b 함수 안에서 a와 b를 더한 값을 출력 반환값 없음. 함수 times_return()을 만들어봅시다. 매개변수 : a, b 반환값 a와 b를 곱한 결과. 함수를 작성한 후, 다음과 같이 출력되도록 코드를 작성해봅시다. plus_print()으로 숫자 3과 4의 합을 출력해봅시다. print()와 times_return()으로 숫자 3과 4의 곱을 출력해봅시다. def plus_print(a,b) : print(a+b) def times_return(a,b) : return a * b plus_print(3,4) print(times_return(3,4)) 메서드 문제1 대응 관계가 3개 있는 Dictionary를 만들고, 이를 변수 .. 2021. 7. 23.
[NIPA AI 교육 기초] 딕셔너리 add를 사용하지 않고 다이렉트로. 2개 이상의 동일한 Key가 있어선 안됨 my_dict = {1:"One", 1:"Yi"} #Bad 여러 자료의 묶음을 Key로 설정하고 싶다면, List가 아닌 Tuple을 사용 my_dict = {[1, 2, 3]:"Numbers"} #Error... my_dict = {(1, 2, 3):"Numbers"} #OK! my_dict = {"사과":"apple","바나나":"banana","당근":"carrot"} # my_dict에서 “사과”를 Key로 넣어 나온 Value를 변수 var1에 넣어봅시다. var1 = my_dict["사과"] print(var1) # my_dict에서 당근-carrot을 제거 del my_dict["당근"] print(my_dict) .. 2021. 7. 23.
[NIPA AI 교육 기초] 리스트 / 시퀀스 자료형 다음 코드의 차이점? # Q1 my_list = [5,4,3,2] print(my_list.sort()) # Q2 my_list = [5,4,3,2] my_list.sort() print(my_list) 1번은 None 2번은 [2, 3, 4, 5] for문 반복할 필요가 없음 2021. 7. 23.
[NIPA AI 교육 기초] 파이썬 반복문, 빼먹고 학습한 것 2021. 7. 23.
str변수를 반복하면? 구하기 방법 2가지 문제 ## 변수 mix에 있는 "쌀"의 개수를 세봅시다. mix = "쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰.. 2021. 7. 23.
[AI 기본 데분] 패키지란? # 패키지란? 모듈을 폴더로 구분하여 관리하는 것 # 패키지의 목적? 모듈을 편리하게 관리하기 위함 # 패키지의 모듈 불러오는 방법 2가지 1. from a import b : a 모듈(혹은 패키지)에서 b 함수를 가져오겠다. b를 사용하기 위해선 b() 꼴 로 사용 가능 2. import a : a 모듈을 불러오겠다. a 모듈 안에있는 b 함수를 사용하기 위해선 a.b() 꼴로 사용해야함 from 폴더.모듈 import 함수 => 로 작성했을 때에는 함수이름만 입력해서 사용이 가능하다. 단, 불러온 모듈에서 동일한 함수명을 가지고 있는 경우, 혼동을 줄 수 있다. 2021. 7. 20.
[AI 기본 데분] 모듈 만들어서 사용하기 모듈만들기 모듈 불러와서 사용하기 2021. 7. 20.
파이썬 기초 : 변수 이름, 자료형, 연산자, 조건문 2021. 7. 20.
모듈이란? 모듈이란? 특정 목적을 지닌 함수, 자료의 모임 모듈을 쓰는 이유? 편리하게 함수, 변수를 사용하기 위함 모듈 불러오는 방법? import 모듈 모듈이 지닌 함수 사용법 A모듈의 a함수를 불러오자 A모듈.a함수 Amodule.afunction A모듈.a함수 => 점표기법이라고 한다. 모듈을 만들어보자. 우선 py파일을 만든 뒤, 내부에 함수를 작성하고 저장한다. 이 모듈 파일인 py의 이름을 import 뒤에 작성해서 불어온다 import py파일이름 # 모듈의 함수를 사용해보자. 모듈명.함수명(변수1,변수2) 2021. 7. 18.
공간 복잡도 공간 복잡도(Space Complexity)는 인풋 크기에 비례해서 알고리즘이 사용하는 메모리 공간을 나타냅니다. 물론 공간 복잡도도 점근 표기법으로 표현할 수 있기 때문에 간편하게 Big-O 표기법을 사용할 수 있습니다. 2021. 7. 17.
접근 표기법 (Big-O Notation). 빅오 표기법 알고리즘의 크기를 인풋크기가 커질수록 알고리즘 실행시간이 오래걸림 알고리즘의 소요시간을 인풋크기에 대한 수식으로 나타냄. 하지만 방식에 따라 알고리즘 소요시간이 달리 계산됨 이에 대한 방안으로 나타난 것이 점금 표기법(빅오) 점근 표기법의 핵심은 n이 엄청크다는 가정하에 진행해야한다는 것! n이 엄청 커졌을 때, 가장 큰 n을 제외한 식의 값은 굉장히 작기에 무시하는 것 위를 빅오 표기법으로 나타내면 하단과 같다 빅오 표기법당 시간 그래프 컴퓨터 성능이 좋아도 빠른 프로그래밍 언어를 써도 알고리즘이 별로면 한계가 존재한다. 예시 선형탐색 베스트 선형탐색 최악 이진 탐색 베스트 이진탐색 최악 2021. 7. 14.
시간복잡도 문제를 빨리 해결하는 알고리즘 하지만 시스템 성능 등의 여러 외부 변수들이 존재 고로, 단순하게 프로그램이 돌아가는 시간이 아닌 '시간 복잡도(Time Complexity)'로 성능을 평가한다. 시간복잡도를 위한 수학 1. 거듭제곱 2. 로그 b를 몇번 반토막내야 1이 나오는가 a는 4 1부터 n까지의 합 2021. 7. 14.
고급단어장 | 랜덤 영단어 맞추기 한글 뜻에 해당되는 영어단어 입력하기 과정1 일단 텍스트 문장을 영단어와 한글(뜻)으로 분리 시키자. with open('vocabulary3.txt') as f : for i in f : data = i.strip().split(": ") # : 을 기준으로 인덱스를 나눔 eng,kor = data[0],data[1] 과정2 각 변수에 영단어, 한글을 각각 분리해서 담았지만 변수를 출력시키면 모든 영단어 혹은 모든 한글이 출력되는데 이를 어떻게 하면 각자 출력되도록 할 수 있을까? key와 value를 지닌 사전을 이용하자. 입력된 key와 이에 맞는 value를 비교할 수 있도록. 즉, key는 eng이고, value는 kor변수를 담아야 해. # str을 dict으로 만들기 vocab = {} # .. 2021. 6. 3.
★ 영어 단어 맞추기 | with open, input, list, str 시행착오1 : N = input(eng) == kor 은 오류발생 SyntaxError: invalid syntax 왜 저렇게 작성한건가? - input은 변수에 넣어도 바로 실행되기 때문에 조건문에 변수와 함께 선언함 with open('vocabulary3.txt','r') as f : for i in f : eng = i.split()[0] kor = i.split()[1] if N = input(eng) == kor : print("맞았습니다!") else : print("아쉽습니다. 정답은 {}입니다.".format(kor)) 내가 푼 정답 : input변수를 없앰 with open('vocabulary3.txt','r') as f : for i in f : eng = i.split()[0] k.. 2021. 6. 1.
파이썬 영어 단어장 만들기 | open, input 위치 시행착오1 : if문에서 쓰인 input문이 정상작동하지 않음 with open(' vocabulary.txt','a') as f : while True : f.write(input("영어 단어를 입력하세요: ")) f.write(input("한국어 뜻을 입력하세요: ")) if input() == 'q' : break 시행착오2 : input의 특성으로 N변수가 실행됨 with open(' vocabulary.txt','a') as f : N = input() while True : f.write(input("영어 단어를 입력하세요: ")) f.write(input("한국어 뜻을 입력하세요: ")) if N == 'q' : break 시행착오3 : while문의 조건식에 삽입해도 작동안됨 with op.. 2021. 6. 1.
매달 월 매출 | 파일 불러오기 구분자 활용하기 시행착오1 : 출력 결과 [] [] [] 으로 출력되면 df 아닌가? total = 0 with open("data/chicken.txt", "r") as f : for i in f : sum_data = (i.strip()).split(":") print(sum_data) 실행 결과 ['1일', ' 453400'] ['2일', ' 388600'] ['3일', ' 485300'] ['4일', ' 477900'] ['5일', ' 432100'] ['6일', ' 665300'] ['7일', ' 592500'] ['8일', ' 465200'] 놉. 각 라인은 list 타입이다. 시행착오2 : print(sum_data[1]) # 왜 액수만 나오는거지?? total = 0 with open("data/chick.. 2021. 6. 1.
랜덤 숫자 맞히기 게임 내가 작성한 답안, but 무한루프 import random num = 4 count = 1 ran_num = random.randint(1,5) for i in range(num, 0, -1) : # num = 4 > 3 > 2 > 1 N = int(input("기회가 {}번 남았습니다. 1-20 사이의 숫자를 맞혀 보세요: ".format(i))) if N > ran_num : print("Down") elif N < ran_num : print("UP") elif N == ran_num : print("축하합니다. {}번 만에 숫자를 맞히셨습니다.".format(count)) elif i == 0 : print("아쉽습니다. 정답은 {}였습니다.".format(ran_num)) count += 1 .. 2021. 6. 1.
알고리즘, datetime 모듈 2021. 6. 1.
반응형