Python 48

[Python/프로그래머스]다시풀어보는_수식최대화_[구현,permutation,re.split]

문제링크 : https://school.programmers.co.kr/learn/courses/30/lessons/67257?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1년전에 이 문제를 풀었던 블로그에 기록이 있다. 하지만 나는 전혀 기억이 나지않았고 문제를 보고 구현...? 이런 생각까지만 나왔다. 이 문제를 풀기위해 permutation 을 배웠고 re.split()도 배웠다. 많이 배워가는 문제다. permutation 포스팅 : https://what-am-i.tistory.com/453 [Python]Perm..

[Python]Permutation을 아십니까?

알았는데요 , 1년동안 안쓰니까 잊어먹었습니다. 이래서 기록이 중요합니다. Permutation은 파이썬에서 제공해주는 함수이다. (itertools에 있음) 순열이라는 뜻으로 학교다닐 때 배우던 순열과 동일한 뜻이다. 고3 확률과통계를 더 열심히 들었어야하는건데 ... => 서로 다른 N 개중에 r개를 고른다!! nPr 로 표시한다. from itertools import permutations arr = ['1','2','3'] npr = permutations(arr,2) print(list(npr)) 이렇게 하면 1,2,3 중에서 2개를 고르는것이다. [1,2 1,3 2,1 2,3 3,1 3,2 ] 가 나올것같다. 출력의 결과는 다음과 같다. [('1', '2'), ('1', '3'), ('2',..

[Python]COS_PRO_기출 3회차[6-10]풀이

6번 소수의 합으로 표현하기 def solution(n): answer = 0 primes = [2] for i in range (3, n + 1, 2) : is_prime = True for j in range(2, i) : if i % j == 0 : is_prime = False break if is_prime == True : primes.append(i) prime_len = len(primes) for i in range(0, prime_len - 2) : for j in range(i + 1, prime_len - 1) : for k in range(j + 1, prime_len) : if primes[i]+primes[j]+primes[k] == n : answer += 1 return a..

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

1번 배열을 회전시켜보세요 def solution(arrA, arrB): if len(arrA) != len(arrB): return False if func_b(arrA,arrB): arrA_temp = func_a(arrA) if func_c(arrA_temp, arrB): return True return False 2번 팰린드롬 문제 def solution(s, k): palindromes = [] length = len(s) for start_idx in range(length): for cnt in range(1, length - start_idx + 1): sub_s = s[start_idx : start_idx + cnt] if func_b(sub_s) == True: if func_a(p..

[Python]COS_PRO_기출2회차[6-10]풀이

6번 로봇을 움직여주세요 뇌 안쓰고 간단하게 만든 def solution(commands): answer = [0,0] for c in list(commands) : if c == 'L' : answer[0]-=1 elif c== 'R' : answer[0]+=1 elif c== 'U' : answer[1]+=1 else : answer[1]-=1 return answer 글자와 방향을 zip으로 묶고 dict를 이용해서 딕셔너리로 만든다. 딕셔너리의 key를 이용해서 dx,dy를 구하고 rx,ry에 연산한다. def solution(commands): answer = [0,0] move = dict(zip('LRUD',[[-1,0],[1,0],[0,1],[0,-1]])) rx,ry = 0,0 for c..

[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]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/BOJ] 백준2212 센서_그리디

https://www.acmicpc.net/problem/2212 2212번: 센서 첫째 줄에 센서의 개수 N(1 ≤ N ≤ 10,000), 둘째 줄에 집중국의 개수 K(1 ≤ K ≤ 1000)가 주어진다. 셋째 줄에는 N개의 센서의 좌표가 한 개의 정수로 N개 주어진다. 각 좌표 사이에는 빈 칸이 하나 있 www.acmicpc.net 5번을 읽었는데 문제가 잘 이해가 안되서 답을 찾아봤다.😂 그냥 쉽게 말하면 n개의 센서를 k개의 구간으로 나누기 더만!! 내가 독해력이 떨어지나....ㅋㅋㅋ 정렬을 이용하여 그리디 방식으로 풀이하였다. - 만약 집중국의 개수가 센서보다 크거나 같다면 0이다. 1) 센서들을 순서대로 만든다.(오름차순 정렬) 2) 센서들..

[Python/프로그래머스]거리두기 확인하기_[BFS]

https://school.programmers.co.kr/learn/courses/30/lessons/81302 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🐾 20221022 - 이번엔 혼자 못품.. 으아아아 혼자 풀었다!!!! 생각한 방법 : 매번 p가 나올 때 마다 bfs를 돌려서 2 이내에 다른 p가 발견되면 answer에 0을 넣자. 코드 : from collections import deque import copy dx = [0,1,0,-1] dy = [1,0,-1,0] def bfs(q,vis,tmp) : isTrue = 1 while q..