일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 파이썬
- Queue
- level4
- 코테
- 조합
- coding test
- time complexity
- 연습문제
- 데이터분석
- Stack
- collections
- sql
- import re
- counter
- mysql
- 완전탐색
- 코딩테스트
- 프로그래머스
- CodingTest
- programmers
- BFS
- 시간복잡도
- lv4
- itertools
- coding
- join
- 코딩
- Level2
- python
- lambda
- Today
- Total
목록Algorithm (129)
ror_coding
from itertools import permutations 로 완전 탐색하기!모든 경우의 수를 다 돌려보며 계산한다. Question 이 게임에는 하루에 한 번씩 탐험할 수 있는 던전이 여러개 있는데, 한 유저가 오늘 이 던전들을 최대한 많이 탐험하려 합니다. 유저의 현재 피로도 k와 각 던전별 "최소 필요 피로도", "소모 피로도"가 담긴 2차원 배열 dungeons 가 매개변수로 주어질 때, 유저가 탐험할수 있는 최대 던전 수를 return 하도록 solution 함수를 완성해주세요. Code : 순열 사용하여 완전 탐색 (모든 경우의 수 돌림) from itertools import permutationsdef solution(k, dungeons): max_cnt = 0 for p..
Hash (해시) 문제.수학적 접근으로 계산하여 푸는 문제이다. Question 코니가 가진 의상들이 담긴 2차원 배열 clothes가 주어질 때 서로 다른 옷의 조합의 수를 return 하도록 solution 함수를 작성해주세요. Point 종류 2개, 각각 옷 개수 a, b개일 때,경우의 수 = (a, b, ab)가 되므로 조합의 개수는 (a + b) + (ab) 가지.종류 3개, 각각 옷 개수 a,b,c개일 때,경우의 수 = (a+b+c) + (ab+bc+ca) + (abc) 가지.=> 수학적 접근 ) (x+a)(x+b)(x+c) = x3 + (a+b+c)x2 + (ab+bc+ca)x + (abc)라는 식이 정립됨.따라서 총 조합의 개수가 계수에 포함되어 있음.해당 식의 계수의 합을 구하려면 x=..
from collections import dequeStack (스택)Queue (큐) from collections import dequeq = deque([1,2,3], maxlen = 5) # 크기 고정.# 추가.q.append(4) # [1,2,3,4]q.appendleft(0) # [0,1,2,3,4]# 제거 ( = 쓰면 제거된 값을 반환)q.pop() # [0,1,2,3]q.popleft() # [1,2,3]# 확장q.extend([4,5]) # [1,2,3] => [1,2,3,4,5]q.extendleft([4,5]) # [1,2,3] => [5,4,1,2,3]# 회전q.rotate(1) # [1,2,3] => [3,1,2]
enumerate( a, start = 1) 로 index 시작 정하기 ! Question H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다.어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다. 어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때, 이 과학자의 H-Index를 return 하도록 solution 함수를 작성해주세요. Pointenumerate에서 start = 1를 이용하여 index를 0이 아닌 1부..
단순 구현 코드를 이렇게 짠 사람은.. 천재이다.. Question 정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다. n행 n열 크기의 비어있는 2차원 배열을 만듭니다. i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다. 1행 1열부터 i행 i열까지의 영역 내의 모든 빈 칸을 숫자 i로 채웁니다. 1행, 2행, ..., n행을 잘라내어 모두 이어붙인 새로운 1차원 배열을 만듭니다. 새로운 1차원 배열을 arr이라 할 때, arr[left], arr[left+1], ..., arr[right]만 남기고 나머지는 지웁니다. 정수 n, left, right가 매개변수로 주어집니다. 주어진 과정대로 만들어진 1차원 배열을 return 하도록 s..
원형 수열 리스트를 *2 해서 사용하기. Question 원형 수열의 모든 원소 elements가 순서대로 주어질 때, 원형 수열의 연속 부분 수열 합으로 만들 수 있는 수의 개수를 return 하도록 solution 함수를 완성해주세요. Code def solution(elements): answer = [] circle = elements*2 for i,num in enumerate(elements): answer.append(num) for num2 in circle[i+1:i+len(elements)]: num += num2 answer.append(num) return len(set(an..
나누기해서 round()를 사용하지 않고 (a+1)//2 처럼 반올림과 같은 효과를 내기. Question 처음 라운드에서 A번을 가진 참가자는 경쟁자로 생각하는 B번 참가자와 몇 번째 라운드에서 만나는지 궁금해졌습니다. 게임 참가자 수 N, 참가자 번호 A, 경쟁자 번호 B가 함수 solution의 매개변수로 주어질 때, 처음 라운드에서 A번을 가진 참가자는 경쟁자로 생각하는 B번 참가자와 몇 번째 라운드에서 만나는지 return 하는 solution 함수를 완성해 주세요. 단, A번 참가자와 B번 참가자는 서로 붙게 되기 전까지 항상 이긴다고 가정합니다. Code def solution(n,a,b): rnd = 0 while b!=a: rnd += 1 a,b = ..
math.comb()를 이용해서 구하는 코드. Question 효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는 (1칸, 1칸, 1칸, 1칸) (1칸, 2칸, 1칸) (1칸, 1칸, 2칸) (2칸, 1칸, 1칸) (2칸, 2칸) 의 5가지 방법으로 맨 끝 칸에 도달할 수 있습니다. 멀리뛰기에 사용될 칸의 수 n이 주어질 때, 효진이가 끝에 도달하는 방법이 몇 가지인지 알아내, 여기에 1234567를 나눈 나머지를 리턴하는 함수, solution을 완성하세요. 예를 들어 4가 입력된다면, 5를 return하면 됩니다. Code import mathdef solution(n): answer = 0 twos = n//..