일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
31 |
- hackerrank
- join
- programmers
- level4
- tableau
- 조합
- 코테
- lambda
- Stack
- python
- cte
- counter
- time complexity
- mysql
- 코딩테스트
- sql
- Growth hacking
- Queue
- LeetCode
- Level2
- 코딩
- coding
- 완전탐색
- 파이썬
- coding test
- itertools
- import re
- 프로그래머스
- AARRR
- lv4
- Today
- Total
목록Coding Test (140)
ror_coding
permutations를 이용해서 숫자가 가질 수 있는 모든 조합을 set에 저장하기. Question 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다.각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers는 길이 1 이상 7 이하인 문자열입니다. numbers는 0~9까지 숫자만으로 이루어져 있습니다. "013"은 0, 1, 3 숫자가 적힌 종이 조각이 흩어져있다는 의미입니다. Point 이중 for 문으로 availables를 완성했는데, map을 이용하여 for문 한 개로 availabl..
lstrip과 lambda x : x*3 이용하기 ! 제한 사항을 잘 읽고 활용하여 풀자. Question 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요.예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다.0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한 사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으..
shift와 XOR 문제.. 짝수일 때는 binary 값의 맨 우측이 0이라서 +1만 하면 되지만 홀수일 때 여러 bin 값이 바뀌기 때문에 이를 고려해야 한다. Question 정수들이 담긴 배열 numbers가 매개변수로 주어집니다. numbers의 모든 수들에 대하여 각 수의 f 값을 배열에 차례대로 담아 return 하도록 solution 함수를 완성해주세요. Point서로 다른 지점이 2개 이하여야 함.따라서 num ^ (num+1) 해준 값을 right shift 2칸 해줌.(만약 서로 다른 지점이 1개라면 right shift 1칸 해줌) 왜 `num`과 `num + 1`을 비교하는가? `num + 1`은 `num`보다 큰 가장 작은 숫자임. 이를 비교하면, 비트를 최소한으로 변경하면서 크기..
내 첫 DP 문제.. 문제를 읽고 dp 로 풀 수 있다는 패턴을 알아내야 한다!홀/짝일 경우로 나눠서 연산하는 과정으로 풀었는데 테케가 틀리게 된다. 따라서 dp로 풀기. Question 직사각형의 가로의 길이 n이 매개변수로 주어질 때, 이 직사각형을 채우는 방법의 수를 return 하는 solution 함수를 완성해주세요.제한사항가로의 길이 n은 60,000이하의 자연수 입니다.경우의 수가 많아 질 수 있으므로, 경우의 수를 1,000,000,007으로 나눈 나머지를 return해주세요. Point 부분 문제로 나눌 수 있는가 ? 중복 계산이 발생하는가? => 위 두 조건이 True이기 때문에 이 문제는 dp로 해결한다. Code (After) def solution(n): n1, n2 = 0..
첫 Heap 문제 ! 우선순위큐 ! 너무 유용하고 빠르고 편하고 좋다 ^^.. Question Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution 함수를 작성해주세요.모든 음식의 스코빌 지수를 K 이상으로 만들 수 없는 경우에는 -1을 return 합니다. Point heapq를 이용하여 작은 값 두 개 m1, m2 뽑고 가장 작은 m1이 K보다 크다면 return.마지막에 모든 음식이 K 이상인지 확인하고 아니라면 -1 return. Code import heapqd..
heapq 는 "우선순위 큐(Priority Queue)"를 구현하는 데 유용함. 우선순위 큐 ) 항목의 우선순위에 따라 처리되는 데이터 구조.따라서 가장 작은(또는 가장 큰) 항목을 우선적으로 처리하는데 사용됨.ex) 작업 스케줄링, 다익스트라 알고리즘(Dijkstra's algorithm) 등. import heapqheapq.heapify(l1) # => 자동 정렬된 list(heap)가 됨. # O(n)# 1. 삽입/추출heapq.heappush(lst, 0) # O(log n)= heapq.heappop(lst) # O(log n)# 2. 삽입+추출= heapq.heappushpop(lst, 0) # O(log n) # 삽입 후, 바로 최솟값 추출.= heapq.heapreplace(lst, i..