분류 전체보기 492

[Python]COS_PRO_기출2회차[1-5]풀이

1번 도서 대여점 운영 class Book(metaclass=ABCMeta): @abstractmethod def get_rental_price(self, day): pass class ComicBook(Book): def get_rental_price(self,day): cost = 500 day -= 2 if day > 0: cost += 200*day return cost class Novel(Book): def get_rental_price(self,day): cost = 1000 day -= 3 if day > 0: cost += 300*day return cost 2번 지하철 기다리기 def solution(subway_times, current_time): current_minute = fu..

[Python/BOJ] 백준2629 양팔저울_DP

https://www.acmicpc.net/problem/2629 2629번: 양팔저울 첫째 줄에는 추의 개수가 자연수로 주어진다. 추의 개수는 30 이하이다. 둘째 줄에는 추의 무게들이 자연수로 가벼운 것부터 차례로 주어진다. 같은 무게의 추가 여러 개 있을 수도 있다. 추의 무 www.acmicpc.net 코드는 맞는 것같은데 시간초과가 난다....😥 시간초과 코드 : def dfs(L,val) : if L == n : candi.add(abs(val)) else : dfs(L+1,val+goosle[L]) dfs(L+1,val-goosle[L]) dfs(L+1,val) if __name__=="__main__" : n = int(input()) goosle = list(map(int,input()...

[Python]COS_PRO_기출 1회차 [1-5]풀이

1번 . 음식 전문점 상속을 받을 때 Class PizzaStore(DeliveryStore) : 이런식으로 인터페이스 이름( DeliveryStore)을 매개변수로 준다. 클래스 내부의 메서드의 선언부는 해당 인터페이스의 추상 메서드와 동일한 선언부로 선언해준다!! def set_order_list(self, order_list): for order in order_list: self.order_list.append(order) def get_total_price(self): total_price = 0 for order in self.order_list: for menu in self.menu_list: if order == menu.name: total_price += menu.price retur..

[Python/프로그래머스]파일명 정렬_구현

https://school.programmers.co.kr/learn/courses/30/lessons/17686 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 사실 알고 코드를 보면 간단하고 쉬운데 왜 딱 보면 너무 어려워보일까...🥴 정답코드 : def solution(files): answer = [] for f in files: head, number, tail = '', '', '' number_check = False for i in range(len(f)): # 문자열 자르기 if f[i].isdigit(): # 처음 나오는 숫자부터는 NUM..

[Python/프로그래머스]n진수게임_구현

https://school.programmers.co.kr/learn/courses/30/lessons/17687 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 직접 풀었다! 근데 내가 만든 코드보다 다른 사람코드가 더 효율적인듯하다😂 내가 푼 코드 : def solution(n, t, m, p): answer = [0] ans = '' # 숫자 구하기 for i in range(1,(m*t)+1) : tmp_list = [] while i : tmp = (i%n) if tmp >=10 : # 10보다 커지면 ABCDE tmp_list.append(..

[Python/프로그래머스]압축_구현

https://school.programmers.co.kr/learn/courses/30/lessons/17684 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr W : 비교할 문자열의 첫 인덱스 C : 비교할 문자열의 끝 인덱스 만약 있다면 while True 이기 때문에 다음으로 넘어간다. 넘어가면 c+=1 으로 언젠가 dic에 없는 단어가 나올 수 밖에 없다. 없는 단어가 나오면 dic에 추가하고 이전까지 있었던 문자열의 값을 dic에서 찾아 answer에 붙인다. w(시작 인덱스)를 끝 인덱스와 동일하게 해준다. 코드 : def solution(ms..

[Python/프로그래머스]방금그곡_구현

https://school.programmers.co.kr/learn/courses/30/lessons/17683 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 어렵지 않아보여서 풀었었다! 코드 실행으로는 3개의 예제 모두 맞았는데 채점에서 다 틀렸다🤦‍♀️ 답을 찾아보니 훨씬 효율적이고 깔끔하게 만든 코드가 있었다. 나도 깔끔하게 , 간단하게 코드를 만들고 싶다... import math def solution(m, musicinfos): answer = None m = m.replace("C#",'c').replace("D#",'d').replace(..

[Python/프로그래머스]후보키_조합

https://school.programmers.co.kr/learn/courses/30/lessons/42890 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 어떻게 푸는지 잘 감이 안왔는데... combinations를 쓰는건가 생각했는데 맞았다. combinations는 반환 값이 튜플이다. 1. combinations를 이용해서 조합을 모두 구한다. 2. 유일성을 만족하는 친구를 찾는다. -> 1번에서 구한 친구들을 이용해 relation값들을 이용해서 튜플을 만들고 그것의 set(중복제거)후의 길이가 relation의 길이와 동일하면 모두 식별할..

[Python/프로그래머스]외벽점검_구현

https://school.programmers.co.kr/learn/courses/30/lessons/60062 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 어렵다!!😈😈 그래도 이런 구현을 풀어야 코테를 풀 수 있는거겠지 1. 먼저 계산을 쉽게 하기 위해 원형을 선형으로 바꿔준다. (원래 값에 원형의 길이를 더해 붙여주면 된다.) 2. 각각의 모든 weak 지점에서 시작하는 경우를 모두 확인하기 위해 permutation으로 순서를 정하기 전에 for문으로 weak의 길이만큼 돌린다. 3. position을 구한다. count도 1로 초기화 해준다...