본문 바로가기

파이썬57

10828. 스택(stack) - 백준 알고리즘 : https://www.acmicpc.net/problem문제정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오.명령은 총 다섯 가지이다.push X: 정수 X를 스택에 넣는 연산이다.pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다.size: 스택에 들어있는 정수의 개수를 출력한다.empty: 스택이 비어있으면 1, 아니면 0을 출력한다.top: 스택의 가장 위에 있는 정수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다. 입력첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 .. 2018. 1. 20.
[Python] numpy broadcast numpy broadcast 넘파이에서는 형태가 다른 행렬 끼리도 계산할 수 있습니다. 예를 들어 [10,20] + [[1,1], [2,2]] 의 계산이 가능하다는건데요, 이 기능을 브로드캐스트 ( broadcast ) 라고 합니다. 위의 그림처럼 같은 형태가 아니더라도 계산할 수 있게 해줍니다.import numpy as npa = np.array([[10],[20],[30],[40]])b = np.array([1,2,3])print(a+b) 부족한 블로그에 방문해 주셔서 감사합니다.잘못된 부분이나 질문이 있으시면 댓글로 말씀해주세요. 금방 확인하고 피드백 드리겠습니다. 좋은 하루 되세요. ^^ 2018. 1. 17.
1463. 1로 만들기 - 동적 프로그래밍, 다이나믹 프로그래밍 - 백준 알고리즘 : https://www.acmicpc.net/problem문제정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다.X가 3으로 나누어 떨어지면, 3으로 나눈다.X가 2로 나누어 떨어지면, 2로 나눈다.1을 뺀다.정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최소값을 출력하시오. 입력첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 자연수 N이 주어진다.출력첫째 줄에 연산을 하는 횟수의 최소값을 출력한다. 예제 입력2예제 출력1 곰가드의 코드 a = int(input()) + 1 min_cnt = [ -1 for i in range(a)] for i in range(1,a): min_cnt[i] = min_cn.. 2018. 1. 17.
[Python] 이름없는 함수 - lambda, map, filter lambda 코드를 작성하다보면 단 한번만 사용하기 위한 함수들을 작성해야할 경우들이 있습니다. 그 경우 일반적으로 함수를 작성해서 사용할 수도 있지만 경제적이지 않은 부분이 있습니다. 이 경우에 lambda 함수를 사용한다면 더 경제적인 코드를 작성할 수 있다는 장점이 있습니다. 사용법 lambda 인자 : 반환식 lambda 함수의 형식은 간단합니다. lambda 뒤에 파라미터들을 작성하고 : 로 구분한 뒤 그 인자들을 사용해 리턴할 식을 적어주면 됩니다. def add(a,b): return a+b ------> lambda a,b : a+b 위에 작성된 add 함수와 lambda 함수는 완전히 동일한 함수입니다.f = lambda x : x % 2 == 0print(f(3)) lambda 함수를 .. 2017. 12. 30.