본문 바로가기

Algorithm/etc111

[파이썬] 프로그래머스 : 순위 검색 (Lv.2) [파이썬] 프로그래머스 : 순위 검색 (Lv.2) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 0. 방향성 생각 데이터, 쿼리의 수가 5만,10만으로 서로 체크할 경우 50억. 당연히 시간초과. 후보를 줄여나가서 for문을 돌려도 데이터 5만에서 언어 1/3, 나머지 1/2씩 3개 해도 1/24 하면 약 2000개 이상적인 케이스에 대해서도 쿼리랑 곱해주면 약 2억이라 간당간당하다. 효율성 테스트 검사하는 문제라서 사실상 틀렸다고 생각하고 다른 풀이 찾는게 맞음 처음 풀이 1. 각 영역 set에 지원자 정보 저장, 마지막에 지원자 점수 매칭 속도를.. 2023. 7. 17.
[파이썬] 프로그래머스 : 메뉴 리뉴얼 (Lv.2) [파이썬] 프로그래머스 : 메뉴 리뉴얼 (Lv.2) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방향성 생각 코스요리로 만들 길이가 주어져있다. 주어진 주문에서 코스요리로 만들 길이의 조합들을 모두 꺼낸다. 메뉴 길이 중 주문량이 가장 많은 리스트들은 answer에 추가해준다. from itertools import combinations as C def solution(orders, course): answer = [] for i in course: table = {} for order in orders: temp = list(C(order,i).. 2023. 7. 15.
[파이썬] 프로그래머스 : 오픈채팅방 (Lv.2) [파이썬] 프로그래머스 : 오픈채팅방 (Lv.2) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방향성 생각 마지막 사람이 봤을 때가 중요하다. user id에 따른 닉네임을 딕셔너리에 저장해놓고 마지막에 변경 사항을 한 번에 바꿔준다. def solution(record): answer,table = [],{} for info in record: temp = info.split() if temp[0] == 'Enter': table[temp[1]] = temp[2] answer.append([temp[1],'님이 들어왔습니다.']) elif tem.. 2023. 7. 15.
[파이썬] 프로그래머스 : 파일명 정렬 (Lv.2) [파이썬] 프로그래머스 : 파일명 정렬 (Lv.2) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 0. 방향성 생각 문자열 나눠주고 하란대로 하기. 딕셔너리에 저장해서 밸류 정렬 후 키 가져오기. 1. 문자열 나누기 def solution(files): num = set(['0','1','2','3','4','5','6','7','8','9']) table = {} for n,file in enumerate(files): a,temp = True,[] for idx,val in enumerate(file): if a and val in num: st.. 2023. 7. 15.