목록전체 글 (142)
Developer_Neo
문제 창영이는 노래 여러 개를 이어서 부르는 가수이다. 유명한 노래의 비슷한 멜로디를 이어서 부르면서 언제 곡이 넘어갔는지 모르게 만드는 것이 창영이 노래의 특징이다. 이런 노래로 상업적으로 엄청난 성공을 거둔 창영이에게 큰 시련이 찾아왔다. 그것은 바로 저작권이었다. 창영이의 노래에 포함되어 있는 멜로디는 모두 저작권이 다른 사람에게 있는 노래이다. 따라서, 이 음악으로 상업적인 활동을 했기 때문에, 저작권 협회에 저작권료를 내야한다. 창영이는 자신의 앨범에 포함되어있는 저작권이 있는 멜로디의 평균값을 구해보기로 했다. 이 값은 아래와 같이 구할 수 있다. (창영이 앨범에 수록된 곡에 포함되어 있는 저작권이 있는 멜로디의 개수) / (앨범에 수록된 곡의 개수) 이때, 평균값은 항상 올림을 해서 정수로 ..
제너레이터 - iterator객체의 한 종류로 next함수를 호출하면 값을 하나씩 얻을 수 있다. 제너레이터를 함수기반으로 만드는 법 yield가 들어갈것! yield가 하나라도 들어가면 제너레이터가 된다. def num_generator(): print('first') yield 0 print('second') yield 1 print('third') yield 2 >>> def num_generator(): print('first') yield 0 print('second') yield 1 print('third') yield 2 >>> gen=num_generator() >>> next(gen) first 0 >>> next(gen) second 1 >>> next(gen) third 2 >>> n..
처음에 Iterable객체와 Iterator객체는 무슨차이가 있는지 iter()와 next()함수는 언제 쓰는지에 대해 많이 혼동되었다. 그래서 정리하게 되었다. Iterable객체(자료형) 컨테이너 자료형 - 문자열, 튜플, 집합, 사전 내장함수 - range(), reversed(), enumerate(), filter(), map(), zip() Iterator객체 iter함수를 거쳐서 나온 것으로 iter함수가 생성해서 반환하는 객체이다. next()함수로 객체 안의 다음 값을 쉽게 얻을 수 있다. ir = iter( iterable객체 ) 로써 선언을 하면 ir은 Iterator객체된 것이고 next()함수를 사용할 수 있따는 것이다. next( iterator객체 ) 따라서 계속해서 next함..
Comprehension의 사전적 의미 - 이해, 이해력, 포용, 포용력, 포함, 압축 파이썬에서의 Comprehesion - 리스트(list), 집합(set), 딕셔너리(dictionary) 자료형에 대해 사용될 수 있다 방법 [ 표현식 for 변수 in iterable객체 ( if 조건식 ) ] { 표현식 for 변수 in iterable객체 ( if 조건식 ) } { 표현식(인데 key : value로) for 변수 in iterable객체 ( if 조건식 ) } 2. List Comprehension [ 표현식 for 변수 in iterable객체 ( if 조건식 ) ] A = [ ] for x in range(1,11): A.append(x*x) print(A) ''' [결과] [1, 4, 9,..
기존 메모리 관리의 문제점 필요 없는 메모리를 비우지 않았을 때 메모리 사용을 마쳤을 때 비우지 않을 경우 메모리 누수가 발생 장기적인 관점에서 심각한 문제가 발생 존재하지 않는 메모리에 접근하려고 하면 프로그램이 중단되거나 메모리 데이터 값이 손상될 수 있다 이러한 문제를 해결하기 위해 현대적인 언어는 자동 메모리 관리(Automatic Memory Management)를 갖추게 되었다. 파이썬에선 기본적으로 Garbage Collection(가비지 컬렉션)과 reference counting(레퍼런스 카운팅)을 통해 할당된 메모리를 관리한다 가비지컬렉션(Garbage Collection) 소멸 규칙 및 과정을 이야기하는 것으로 메모리를 자동으로 관리해주는 과정이다 레퍼런스 카운트 참조 횟수(refer..
백준 알고리즘 온라인 저지 110998번 : A x B 문제 두 정수 A와 B를 입력받은 다음, A×B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 sys모듈을 사용하고 split를 사용하자 import sys num=sys.stdin.readline() A,B=num.split() print(int(A)*int(B)) input함수이용 A,B=input().split() print(int(A)*int(B))
백준 알고리즘 온라인 저지 1000번 : A-B 문제 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 sys모듈을 사용하고 split를 사용하자 import sys num=sys.stdin.readline() A,B=num.split() print(int(A)-int(B)) 다른 풀이 input함수이용 A,B=input().split() print(int(A)-int(B))
백준 알고리즘 온라인 저지 1000번 : A+B 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 sys모듈을 사용하고 split를 사용하자 첫번째 시도 import sys print("두 정수를 입력하시오") two_num=sys.stdin.readline() A, B = two_num.split() print(int(A)+int(B)) 두번째 시도 -> 조건이 안들어가서 그런가? 해서 조건을 넣음. import sys print("두 정수를 입력하시오") two_num=sys.stdin.readline() A, B = two_num.split() A, B =..