일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- coding test
- 파이썬
- sql
- python
- 코테
- 시간복잡도
- 조합
- programmers
- 데이터분석
- level4
- BFS
- CodingTest
- lambda
- Queue
- 코딩
- counter
- coding
- 연습문제
- Stack
- itertools
- time complexity
- 완전탐색
- collections
- join
- import re
- lv4
- 코딩테스트
- Level2
- mysql
- 프로그래머스
- Today
- Total
목록python (73)
ror_coding
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..
set()을 이용해서 중복은 자동으로 안 겹치게 하기.list로 풀었는데 이 방법이 더 좋은 것 같다 ! Question 명령어가 매개변수 dirs로 주어질 때, 게임 캐릭터가 처음 걸어본 길의 길이를 구하여 return 하는 solution 함수를 완성해 주세요. Code def solution(dirs): x, y, paths = 0, 0, set() ways = {'U':[0,1], 'D':[0,-1], 'L':[-1,0], 'R':[1,0]} for i in dirs: dx = x + ways[i][0] dy = y + ways[i][1] if ((-5 now meOn my github
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 ..
from collections import deque를 사용하여 우선 순위를 제거 !now에 넣어서 비교하고 다시 queue 뒤에 넣는 방법 생각을 못 했다..! Question 현재 실행 대기 큐(Queue)에 있는 프로세스의 중요도가 순서대로 담긴 배열 priorities와, 몇 번째로 실행되는지 알고싶은 프로세스의 위치를 알려주는 location이 매개변수로 주어질 때, 해당 프로세스가 몇 번째로 실행되는지 return 하도록 solution 함수를 작성해주세요. Point index를 번호를 부여.if 문 ) queue의 맨 앞을 now로 넣고 now의 값과 queue안에 있는 모든 값들 중 어느 하나라도 now 값보다 크면 다시 queue 맨 뒤에 추가함. ( cycle처럼 도는 느낌 )else..
import re를 활용해서 숫자만 추출한 후에 Counter로 개수 세기! Question 특정 튜플을 표현하는 집합이 담긴 문자열 s가 매개변수로 주어질 때, s가 표현하는 튜플을 배열에 담아 return 하도록 solution 함수를 완성해주세요. Point Counter를 사용 -> 여러 번 나온 수가 먼저 등장한 숫자 => 따라서 등장 횟수가 큰 숫자부터 저장. Code 1 : 정규표현식, Counter 사용. import refrom collections import Counterdef solution(s): s = Counter(re.findall('\d+', s)) return [int(v) for v, cnt in s.most_common()] Code 2 : mine def ..