1. 문제 2. 문제 해석 - 어렵다. - 핵심은 열린 괄호가 들어올때 문제에 주어진 대로 곱하기를 해주고, 닫힌 괄호가 맞는 모양이면 pop과 동시에 이전것과 비교해 더하기를 해주어야 한다. 3. enumerate함수 1) 이 코드를 살려준 함수이다. 2) 리스트에 대해서 index값과 element를 함께 가져와 준다. 3) 잘 사용하면 반복문을 줄일 수 있을 것 같다. 4. 코드 import sys input = sys.stdin.readline # stack에 넣는다. stack = [] # 점수를 계산하는 sum 1로 시작 # 뒤에 열린 괄호가 들어오면서 곱샘을 해주기 때문에 sum = 1 # 괄호가 닫힐때 기존 괄호를 pop하면서 sum을 더해 주기 위한 변수 tmp = 0 # 괄호 데이터를 ..
Develop
1. 기본 형태 # 기본 형태 map(function, iterable) 2. 함수를 사용한 예제(함수사용) - test 함수와 map 함수를 이용해 리스트의 모든 요소를 1씩 더한다. - 그밖에 모든 요소 제곱, 소수점 올림 등을 사용할 수 있다. str_list = ['1', '2', '3', '4', '5', '6', '7'] int_list = [1,2,3,4,5,6,7] def test(n): return n+1 result1 = list(map(test, int_list)) print(result1) # 결과 : [2, 3, 4, 5, 6, 7, 8] 3. 람다(lambda)를 사용한 예제 - 이름없는 함수(lambda)를 사용하여 단순한 함수는 더 간편히 사용 할 수 있다. str_list ..
1. 정의 1) 뜻 : 스택(stack)은 데이터를 임시 저장하는 기본 자료구조 2) 입출력 순서 : 후입 선출 - 쉽게말해 데이터를 넣을때(push) 마지막 데이터에 들어가며, 빼면(pop) 마지막 데이터가 나온다. 2. 기본 용어 1) Push - 스택에서 데이터를 넣을때 사용하는 용어 - 마지막에 데이터가 추가되는 것을 볼 수 있다. 2)Pop - 스택에서 데이터를 가져올때 사용하는 용어 - 마지막의 데이터를 가져오게 된다. 3) Stk - push한 데이터를 저장하는 스택본체의 list형 배열 이다. 4) Stk의 bottom, top - 말그대로 Stk의 가장 밑이 bottom, 스택에 들어있는 데이터의 가장 마지막 데이터를 top이라고 한다. - 주의해야 할 것은 데이터가 가장 처음 쌓이는 곳..
0. 여러분의 개발 공부에 도움이 되지 않는다. 1. 이분탐색 정의 - 정렬되어있는 배열 또는 리스트에서 탐색을 하는 방법 - 검색 범위를 절반씩 줄여 탐색하므로 빠르다. 2. 예시 코드 # 이분탐색 함수 def binary_search(sort_list, key): pl = 0 # 리스트의 처음을 pl으로 잡는다. pr = len(sort_list)-1 # 리스트의 마지막을 pr로 잡는다. while True: pc = (pl+pr) // 2 # 중간 수를 pc로 잡는다.(pr//2 로 하지 않은 이유는 아래를 보면 알 수 있다.) if sort_list[pc] == key: # sort_list의 인덱스가 pc인 값과 Key가 같다면 바로찾음 return 1 elif sort_list[pc] < ke..
0. 당신의 개발공부에 도움이 되지 않습니다. 1. 문제 2. 문제 해석 - 이분탐색으로 톱의 길이의 최댓값을 구하는 문제 - 참고로 이분탐색을 나무 리스트에 사용하는 것이 아니라 절단기 높이를 구하는데 사용해야 한다. 3. 코드 N, M = map(int, input().split()) # N: 나무 개수, M: 필요한 나무 양(길이) N_list = list(map(int, input().split())) # N개의 나무리스트 bottom, top = 0, max(N_list) # 절단기 높이와 바닥을 설정한다. while bottom = p: count1 += tree - p if count1 >= M: # 자른 나무가 필요한 나무보다 크면 bottom = p + 1 # 더 조금 자르기 위해 절단기..
0. 해당글은 개발공부에 도움이 되지 않습니다. 1. 문제 스크린샷 2. 문제 해석 - M개로 되어있는 리스트에서 N로 되어 있는 리스트 요소들이 포함되어 있는지 찾기 - 기본적인 이분탐색문제 3. 코드 1)첫 도전 - 하기 코드는 선형탐색으로 찾은것 - 이렇게 하면 시간초과가 뜬다. N = int(input())# N배열의 개수 N_list = list(map(int, input().split()))# N배열 M = int(input()) # M배열의 개수 M_list = list(map(int, input().split()))# M배열 # N_list와 M_list의 element를 비교하는 함수 def asdf(list, element): for check in list: # N_list의 elem..