본문 바로가기

분류 전체보기443

[Python] 전역변수, 지역변수 / global, nonlocal 총정리 1) 전역 변수(Global variable)란 Global scope, 즉 전역 범위에서 활동하는 변수. 함수를 포함하여 스크립트 전체에서 모든 요소에 해당 변수에 접근할 수 있는 변수이다. 2) 지역 변수(Local variable)란 Local scope, 즉 지역 범위에서만 영향을 주고 받을 수 있는 변수를 지칭한다. 예를 들어 함수 안에서 a = 1이라고 변수 선언을 하게 되면 이제 a는 해당 함수 안에서만 사용될 수 있다.(a는 함수 Fn안에서만 선언이 되었기 떄문에 Fn()안에서만 영향을 끼친다.) 3) global 키워드 함수 안에서 전역 변수의 값을 변경하려면 global 키워드를 사용해 선언을 해주면 된다. 주의점 🚨 반드시 " global a "와 같이 선언을 먼저 한 뒤에 변수의 값.. 2023. 9. 28.
[프로그래머스 Lv.3] 가장 먼 노드 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr from collections import deque def solution(n, edge): answer = 0 graph = [[] for _ in range(n+1)] visited = [False]*(n+1) route = [] for start,end in edge: graph[start].append(end) graph[end].append(start) def bfs(index): visited[index] = True queue = deque([(index,0)]) route.append((ind.. 2023. 9. 28.
[프로그래머스 Lv.2] 타겟 넘버 재풀이 [프로그래머스 Lv.2] 타겟 넘버 # BFS from collections import deque def solution(numbers, target): answer = 0 queue = deque() queue.append((numbers[0],0)) queue.append((-numbers[0],0)) while queue: v, index = queue.popleft() index += 1 if index < len(numbers): queue.append((v+numbers[ind woohyun-king.tistory.com def solution(numbers, target): answer = 0 def dfs(depth,s): nonlocal answer if depth == len(numb.. 2023. 9. 28.
[프로그래머스 Lv.1] 최소직사각형 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(sizes): sizes = [sorted(x,reverse=True) for x in sizes] # [[60, 50], [70, 30], [60, 30], [80, 40]] widths = [x[0] for x in sizes] # [60, 70, 60, 80] heights = [x[1] for x in sizes] # [50, 30, 30, 40] return max(widths)*max(heights) 이번 문제는 주어진 명함들의 가로와 세로길이가 주어졌을 때, 명함을 가로나 .. 2023. 9. 28.
[백준 25421번] 조건에 맞는 정수의 개수 25421번: 조건에 맞는 정수의 개수 2개의 자릿수를 갖고 첫 번째 자리의 숫자와 두 번째 자리의 숫자의 차이가 2보다 작거나 같은 양의 정수 11, 12, 13, 21, 22, 23, 24, 31, 32, ... , 97, 98, 99가 A에 해당된다. 따라서 정답은 39이다. www.acmicpc.net n = int(input()) data = [1 for x in range(1,10)] for i in range(n-1): temp = [] for j in range(9): value = 0 for k in range(j-2,j+3): if 0 2023. 9. 28.
[프로그래머스 Lv.2] 다리를 지나는 트럭 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(bridge_length, weight, truck_weights): time = 0 queue = [] while truck_weights or queue: time += 1 if queue: queue = [(x[0],x[1]-1) for x in queue if x[1]-1 != 0] if truck_weights and sum([x[0] for x in queue]) + truck_weights[0] 2023. 9. 21.