programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 전역변수 cnt를 DFS() 내에서 사용할 때는 global cnt를 써 줬지만 solution() 내에서 DFS()를 정의해서 변수를 쓸 때는 nonlocal cnt 명시 def solution(numbers, target): def DFS(L, sum): if L == len(numbers): if sum == targ..
mutable 자료형을 가진 이상, 지역변수가 전역 변수에 영향을 줄 수 없다. 그러나 global 명령어 사용으로, 지역변수가 전역 변수에 영향을 줄 수 있다. x = 15 # 전역변수 (global variable) def f(): x = 30 # 지역변수 (local variable) f() print(x) # 15 : 변수에 값이 없다. Call By Assignment global 명령어 사용 x = 15 # 전역변수 (global variable) def f(): global x x = 30 # 지역변수 (local variable) f() print(x) # 30 nonlocal 명령어 nonlocal: 지역변수가 아님을 선언 nonlocal이 사용된 함수 바로 한단계 바깥쪽에 위치한 변수와..
programmers.co.kr/learn/courses/30/lessons/42842 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 �� programmers.co.kr 1. 정수 yellow의 약수 리스트를 만든다. 이때 중복을 방지하기 위해 (4, 6) , (6,4) 두 케이스의 경우 (4, 6)만 저장한다. 2. 약수의 곱 리스트 (a, b) 중 항상 b가 크게 저장했기 때문에, (b + 2) * 2 + a * 2 == brown인 경우 값을 값을 리턴한다. def solution(brown, yellow): # yellow의 ..
순열 구하기 모든 경우의 수 import itertools as it n = 3 a = list(range(1, n+1)) # 리스트 a로 만들 수 있는 모든 순열의 경우 tuple 형태로 출력 for tmp in it.permutations(a): print(tmp) # (1, 2, 3) # (1, 3, 2) # (2, 1, 3) # (2, 3, 1) # (3, 1, 2) # (3, 2, 1) for tmp in it.permutations([1, 2, 3], 2): print(tmp) # (1, 2) # (1, 3) # (2, 1) # (2, 3) # (3, 1) # (3, 2) 조합 구하기 중복 제거 import itertools as it for tmp in it.combinations([1, 2..
Section 7. 깊이, 넓이 우선탐색 활용 7.1. 최대점수 구하기(DFS) L을 인덱스값으로 import sys sys.stdin=open("input.txt", "r") def DFS(L, total_p, total_t): global max if total_t > m: # 제한시간 넘어가면 return if L==n: if total_p >= max: max = total_p else: DFS(L+1, total_p + a[L][0], total_t + a[L][1]) DFS(L+1, total_p, total_t ) n, m = map(int, input().split()) max = -2147000000 a = [] for _ in range(n): p, v = map(int, input()..
DataFrame에 대한 이야기 describe() import numpy as np import pandas as pd data = {'이름' : ['이지은', '박동훈', '홍길동', '강감찬', '오혜영'], '학과': ['컴퓨터', '기계', '철학', '국어국문', '컴퓨터'], '학년': [1, 2, 2, 4, 3], '학점': [1.5, 2.0, 3.1, 1.1, 2.8]} df = pd.DataFrame(data, columns=['학과', '이름', '학점', '학년'], index = ['one', 'two', 'three', 'four', 'five']) display(df) # DataFRame 안에 있는 숫자연산이 가능한 column에 한해, # 기본분석함수 적영한 수치값들을 Da..
Pandas의 DataFrame Python Dictionary를 가지고 만든다. dictionary로 DataFrame을 생성할 때 데이터의 개수가 맞지 않으면 Error 발생 dictionary로 key가 DataFrame의 column으로 들어가게 된다. DataFrame은 Series의 집합으로 구성된다. (각각의 colum이 Series) Python Dictionary로 DataFrame 만들기 import numpy as np import pandas as pd # dictionary data = {'name' : ['아이유', '김연아', '홍길동', '강감찬', '이순신'], 'year' : [2015, 2019, 2020, 2013, 2017], 'points': [3.5, 1.5, 2..