Developing/Algorithm: Python

Developing/Algorithm: Python

[python] 백준 boj14502 연구소

1. 문제 요약 연구소 🟡4 N x M 크기의 연구소에서 3개의 벽(1)으로 바이러스(2)로부터의 안전 영역(0) 최댓값 구하기 2. 설계 BRUTE FORCE 브루트 포스로 벽을 세운 후, BFS를 통해 바이러스 감염을 시키고 안전 영역 갯수 세기 3. 최종코드 from itertools import combinations from copy import deepcopy from collections import deque #상, 우, 하, 좌 dr, dc = [-1, 0, 1, 0], [0, 1, 0, -1] # 세로, 가로 N, M = map(int, input().split()) lab = [list(map(int, input().split())) for _ in range(N)] blanks = ..

Developing/Algorithm: Python

[python] 백준 boj2109 순회강연 (아마도 그리디 풀이법)

1. 문제 요약 순회강연 🟡 3 (자세한 문제는 링크에서 확인!) 한 저명한 학자에게 n개의 대학에서 강연 요청이 옴(0 = i: if not used[j]: candidates.append((requests[j][0], j)) # 기한 큰 순서대로 정렬했기 때문에 위 조건에 맞지 않으면 promising 하지 않음 else: break # 후보 중 가장 돈 많이 주는 request를 할당하기 max_p = idx = 0 for k in range(len(candidates)): if candidates[k][0] > max_p: max_p = candidates[k][0] idx = candidates[k][1] fee += max_p used[idx] = 1 print(fee) else: print(..

Developing/Algorithm: Python

[python] 딕셔너리 Key, Value 값을 뒤집는 함수 구현하기

1. Dict 객체의 Key와 Value 값 Dictionary 객체는 Key 값으로 Value에 접근할 수 있지만, Value 값으로 Key 값에 단순하게 접근할 방법은 없다. 반면 List 객체와 같은 Sequence 객체들은 index로 각 항목에 접근할 수도 있고, 각 항목으로 index에 접근할 수도 있다. 프로젝트를 진행하면서 이 부분을 인지했고 Dict에서 Value로 Key에 접근할 수 있는 방법이 있을까 나중에 생각해 봐야겠다는 생각이 들었었다. 2. 구현 프로그램 Value와 Key를 뒤집은 결과를 반환하는 함수 invert_dict() 를 작성하기. 변환된 딕셔너리 객체의 Key 값의 Value는 list로 추가하기. 해당 Key 값의 Value가 여러 개일 경우 모든 항목이 list..

Developing/Algorithm: Python

[python] 콜라츠 추측 파이썬으로 구현하기

1. 콜라츠 추측(Collatz conjecture) 1937년 이 추측을 처음으로 제기한 로타르 콜라츠의 이름을 딴 추측 3n+1 추측, 울람 추측, 헤일스톤(우박) 수열 등의 이름으로 불림 임의의 자연수가 다음 조작을 거쳐 항상 1이 된다는 추측 짝수라면 2로 나눈다. 홀수라면 3을 곱하고 1을 더한다. 1이면 조작을 멈추고, 1이 아니면 첫 번째 단계로 돌아간다. 2. 파이썬으로 구현할 프로그램 콜라츠 추측을 바탕으로, 입력한 수가 1이 될 때까지 몇 번의 과정을 거치는지 리턴하기 만약 그 수가 500이 넘어간다면, -1을 리턴하기 3. 삽질한 코드 def collatz(num): count = 0 if count 1: if num % 2: #홀수일 경우 num = (num * 3) + 1 coun..

Chosephine
'Developing/Algorithm: Python' 카테고리의 글 목록