일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 조합
- lambda
- coding
- join
- 시간복잡도
- 프로그래머스
- BFS
- collections
- sql
- 연습문제
- 파이썬
- Queue
- python
- itertools
- counter
- mysql
- import re
- CodingTest
- 완전탐색
- level4
- 코딩테스트
- Stack
- lv4
- coding test
- 데이터분석
- time complexity
- 코딩
- 코테
- programmers
- Level2
- Today
- Total
목록Level2 (21)
ror_coding
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 이하입니다. 정답이 너무 클 수 있으..
내 첫 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..
BFS 문제... queue를 이용해서 구현한다 !어려웠지만 BFS를 배우기 매우 유용했던 문제 !!! Question 게임 맵의 상태 maps가 매개변수로 주어질 때, 캐릭터가 상대 팀 진영에 도착하기 위해서 지나가야 하는 칸의 개수의 최솟값을 return 하도록 solution 함수를 완성해주세요. 단, 상대 팀 진영에 도착할 수 없을 때는 -1을 return 해주세요. Point(어떤 분께서 댓글로 DFS/BFS의 차이에 대해 야무진 설명을...) DFS : 성공이든 실패든 끝까지 한 경로만 조짐BFS : 여러 경로를 한 단계씩 검색 -> 짧은 경로가 가장 먼저 도달함 Code from collections import dequedef solution(maps): x, y = 1, 1 a..
시간복잡도 줄이는 코드가 필요하다 ! 따라서 stack을 사용하기 ! Question 정수로 이루어진 배열 numbers가 있습니다. 배열 의 각 원소들에 대해 자신보다 뒤에 있는 숫자 중에서 자신보다 크면서 가장 가까이 있는 수를 뒷 큰수라고 합니다. 정수 배열 numbers가 매개변수로 주어질 때, 모든 원소에 대한 뒷 큰수들을 차례로 담은 배열을 return 하도록 solution 함수를 완성해주세요. 단, 뒷 큰수가 존재하지 않는 원소는 -1을 담습니다. Code def solution(numbers): answer = [-1]*len(numbers) stack = [] for idx, num in enumerate(numbers): while stack and num..
Question 이진수로 진행하는 게임에 익숙해져 질려가던 사람들은 좀 더 난이도를 높이기 위해 이진법에서 십육진법까지 모든 진법으로 게임을 진행해보기로 했다. 숫자 게임이 익숙하지 않은 튜브는 게임에 져서 벌칙을 받는 굴욕을 피하기 위해, 자신이 말해야 하는 숫자를 스마트폰에 미리 출력해주는 프로그램을 만들려고 한다. 튜브의 프로그램을 구현하라. Code def solution(n, t, m, p): answer,nums = '','0' for16 = {10:'A',11:'B',12:'C',13:'D',14:'E',15:'F'} for i in range(1,t*m): num = '' while i > 0: add = i%n ..
from itertools import product 를 사용해서 사전 만들기 ! (즉, 모든 조합 전부 list에 저장)아니 .. 비효율로 빠꾸당할 줄 알았는데.. 이게 되네 심지어 짱 빠름.. Question 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니다.단어 하나 word가 매개변수로 주어질 때, 이 단어가 사전에서 몇 번째 단어인지 return 하도록 solution 함수를 완성해주세요. Point모든 조합을 list로 만들기 위해 product(repeat)을 이용. Code from itertools impo..
from collections import Counter 사용.전체 list 두 개를 set해서 len() 비교를 하면 시간초과가 발생하기 때문에 Counter를 이용한다 ! Question 롤케이크에 올려진 토핑들의 번호를 저장한 정수 배열 topping이 매개변수로 주어질 때, 롤케이크를 공평하게 자르는 방법의 수를 return 하도록 solution 함수를 완성해주세요. Pointfor문을 돌리며 두 개로 나눈 list를 전체 set 해서 len() 비교는 시간 초과됨. => 따라서 실패.Counter를 이용하여 한 명(p1)에게 전부 몰아 넣었다고 가정하고 for문을 통해 하나씩 다른 사람(p2)에 전달하고 len() 비교. Code from collections import Counterdef ..