본문 바로가기

공부-코딩테스트72

튜플 (코딩테스트, 프로그래머스) 문제 https://programmers.co.kr/learn/courses/30/lessons/64065 코딩테스트 연습 - 튜플 "{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1] programmers.co.kr 나의 코드 def solution(s): answer = [] s=s[2:-2] s=s.split("},{") s=sorted(s,key=lambda x:len(x)) for i in range(len(s)): s[i]=s[i].split(",") for i in range(len(s)-1,0,-1): f.. 2022. 1. 25.
문자열 압축 (코딩테스트, 프로그래머스) 문제 https://programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 나의 코드 def solution(s): answer=len(s) for i in range(1,len(s)//2+1): tmp=s #슬라이싱 해야되니 기존 s를 보호하기 위해 tmp선언 count=1 #몇번 반복됬는지 확인 tmp_str="" #압축한 뒤의 str, 길이확인에 필요 while len(tmp)>i: #슬라이싱 길이 만큼 남아있을 때까.. 2022. 1. 24.
프린터 (코딩테스트, 프로그래머스) 문제 https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 나의 코드 (런타임 에러 3개) from collections import deque def solution(priorities, location): answer=0 priorities = deque(priorities) point_list = deque(range(len(priorities))) while priorities: tmp = priorities... 2022. 1. 20.
메뉴 리뉴얼 (코딩테스트, 프로그래머스) 문제 https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 나의 코드 from itertools import combinations def solution(orders, course): answer = [] for course_i in course: dict={} tmp_answer = [] for order in orders: tmp_answer+=list(combinations(order,course_i)) fo.. 2022. 1. 19.
타겟 넘버 (코딩테스트, 프로그래머스) 문제 https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 나의 코드 import collections def solution(numbers, target): answer = 0 answer_list=collections.deque([numbers[0],-numbers[0]]) for i in numbers[1:]: for j in range(len(answer.. 2022. 1. 19.
코딩테스트 문제 : 거리두기 확인하기 (프로그래머스) 문제 https://programmers.co.kr/learn/courses/30/lessons/81302 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr 나의 코드 import collections ways = [[0,-1],[1,0],[.. 2022. 1. 13.