지역변수는 함수 내부에서만 사용되는 변수 전역변수는 프로그램 전체에서 사용되는 변수 함수 내부에서 전역변수임을 명시하고 싶으면 global문을 사용함 global 변수 x=10은 test함수내에서 print(x)해도 여전히 10을 가리키므로 10을 출력 함수 내 t=20은 지역변수이므로 함수내에서 20을 출력하고 밖으로 나가면 소멸 따라서 밖에서 사용하면 print(t)하면 에러남 x=10을 test함수에 전달하면서 t가 10을 가리키는데 t=20으로 재할당하면서 새로운 변수가 생성되는거(call by object reference) 특별히 명시하지 않으면 변수명이 같아도 함수내에선 지역변수 함수밖에선 전역변수 원칙 f()에 의해 지역변수 s 값이 먼저 출력되고 이..
1. 정규표현식 복잡한 문자열을 패턴으로 정의하는 문자 표현 공식 특정 규칙에 만족하는 모든 문자열 집합을 추출함 전화번호는 3자,4자,4자의 일정한 규칙이 있어서 적절한 정규표현식을 사용하면 쉽게 추출할 수 있을 것 문법이 방대해서 필요할때마다 찾아보면서 사용 www.regexr.com RegExr: Learn, Build, & Test RegEx RegExr is an online tool to learn, build, & test Regular Expressions (RegEx / RegExp). regexr.com 위 사이트인 정규식표현장에서 텍스트를 넣고 정규식을 사용해 찾아봄 해당 정규식의 의미도 설명해줘서 좋다 2. 기본적인 문법 [abc] 는 a나 b나 c 중 하나라도 들어가면 지정해줌 -..
1. defaultdict 사전에서 value의 기본값을 지정하여 새로 key를 생성할 때 value를 지정하지 않으면 기본값이 자동으로 들어간다 from collections import defaultdict로 사용할 수 있음 단어 빈도수 계산에 유용함 defaultdict를 쓰지 않으면 d[word]하는 순간 에러가 나는데 try~except~로 처리해야하는 번거로움이 있다 하지만 defaultdict로 기본값을 미리 지정해주면 d[word]해도 에러가 안난다 2. Ordereddict 데이터 입력한 순서대로 출력해주는 dictionary 요즘엔 기본 dictionary도 입력한 순서대로 출력해주므로 큰 의미없다 3. namedtuple 튜플 형태로 데이터 구조체(자료 구조, 이름 등)를 저장하는 자..
1. 문제 https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수=가장 맵지 않은 음식의 스코빌 지수+(두 번째로 맵지 않은 음식의 스코빌..
최댓값과 최솟값을 찾는 연산을 빠르게 하기 위해 고안된 완전이진트리 트리는 root node에서 밑으로 가지를 뻗어나가는 형태의 자료구조로 binary tree인 이진 트리는 최대 2개까지만 자식 노드를 가진다 최소힙은 부모 node가 자식 node보다 항상 작은 binary tree 최대힙은 부모 node가 자식 node보다 항상 큰 binary tree heap은 배열로 구현되며 파이썬에서는 list로 만들어진다 import heapq를 통해 파이썬에서 heapq 관련 함수 사용가능 기존 리스트를 heapq로 만들려면 heapify()를 이용 heap2 = [50,10,20] heapq.heapify(heap2) print(heap2) [10,50,20] 혹은 빈 리스트를 생생한 후에 heappush..
1. 문제 https://programmers.co.kr/learn/courses/30/lessons/49189 코딩테스트 연습 - 가장 먼 노드 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr n개의 노드가 있는 그래프가 있습니다. 각 노드는 1부터 n까지 번호가 적혀있습니다. 1번 노드에서 가장 멀리 떨어진 노드의 개수를 구하려고 합니다. 가장 멀리 떨어진 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드들을 의미합니다. 노드의 개수 n, 간선에 대한 정보가 담긴 2차원 배열 vertex가 매개변수로 주어질 때 1번 노드로부터 가장 멀리 떨어진 노드가 몇 개인지를 return하도록 solution ..