여행경로 (DFS, 모든 경로 사용해서 모든 노드 방문)
·
Coding Test/programmers
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 무조건 알파벳 순서가 앞서는 곳을 향하도록 여행 경로를 구성하면 문제의 답을 올바르게 구할 수 있음을 보장하지 않음 ticket result [["ICN", "AAA"], ["ICN", "CCC"], ["CCC", "DDD"], ["AAA", "BBB"], ["AAA", "BBB"], ["DDD", "ICN"], ["BBB", "AAA"]] ["ICN", "CCC", "DDD", "ICN", "AAA", "BBB", "AAA", "BBB"] 위 예시에서 처음에 "ICN"에서 출발하여 "AAA"를 먼저 방..
n^2 배열 자르기
·
Coding Test/programmers
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 전체 배열을 만들면 시간초과 (1 ≤ n ≤ 107) n=3 left=2 right=5 1 2 3 2 2 3 3 3 3 (0,0) (0,1) (0,2) (1,0) (1,1) (1,2) (2,0) (2,1) (2,2) max(0/3, 0%3) max(1/3, 1%3) max(2/3, 2%3) max(3/3, 3%3) max(4/3, 4%3) max(5/3, 5%3) max(6/3, 6%3) max(7/3, 7%3) max(8/3, 8%3) 풀이 def solution(n, left, right): answ..
파이썬 내장함수 bit_length, 이진수 길이, bit_count, 이진수 1의 개수
·
Python
bit_length 이진수로 정수를 나타내는 데 필요한 비트 수 반환 (버전 3.1에 추가) n = -37 bin(n) # -0b100101 n.bit_length() # 6 x 가 0이 아니면, x.bit_length() 는 2**(k-1)
[11729] 하노이 탑 이동 순서 (재귀)
·
Coding Test/Implement
11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 분석 1) 재귀 원반이 두 개 이상이면 원반의 개수를 n 이라 할 때, 가장 아래에 있는 원반 n을 도착 기둥에 옮기기 위해 그 위에 놓여 있는 n-1개의 원반을 보조 기둥에 옮긴다. 원반 n을 도착 기둥에 옮긴다. 보조 기둥에 있는 n-1개의 원반을 도착 기둥에 옮긴다. 2) 점화식 먼저 "수열 An​= n개의 원판을 이동하는 횟수" 라고 정의하자. n개의 원판을 이동시키기 위해서는 그 위의 n-1개의 원판을 다른 막대로 이동하고 맨 아래쪽 원판을 ..
파이썬 자료구조 set
·
Python
롤케이크 자르기 (해시, Counter, set) karla.tistory.com # add() 요소 추가 my_set = {10, 20, 30} my_set.add(40) # {10, 20, 30, 40} # remove() 요소 삭제 my_set = {10, 20, 30} my_set.remove(10) # {20, 30} # Intersection (교집합) set1 = {3, 4, 9, 1, 4, 2, 5, 6, 7, 8, 10} set2 = {5, 6, 7, 8, 9, 10} # {5, 6, 7, 8, 9, 10} # Union (합집합) set1 = {3, 4, 9, 1, 4, 2, 5, 6, 7, 8, 10} set2 = {5, 6, 7, 8, 9, 10} print(set1 | set2) ..
[3079] 입국심사 (이분 탐색)
·
Coding Test/Search
3079번: 입국심사 첫째 줄에 N과 M이 주어진다. (1 ≤ N ≤ 100,000, 1 ≤ M ≤ 1,000,000,000) 다음 N개 줄에는 각 심사대에서 심사를 하는데 걸리는 시간인 Tk가 주어진다. (1 ≤ Tk ≤ 109) www.acmicpc.net """ 입국심사대는 총 N, 상근이와 친구들은 총 M k번 심사대에 앉아있는 심사관이 한 명을 심사를 하는데 드는 시간은 Tk 상근이와 친구들이 심사를 받는데 걸리는 시간의 최솟값 첫째 줄에 N과 M이 주어진다. (1 ≤ N ≤ 100,000, 1 ≤ M ≤ 1,000,000,000) 다음 N개 줄에는 각 심사대에서 심사를 하는데 걸리는 시간인 Tk가 주어진다. (1 ≤ Tk ≤ 109) 2 6 7 10 """ n,m=map(int, input()..