https://school.programmers.co.kr/learn/courses/30/lessons/133026 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] SELECT INGREDIENT_TYPE, SUM(TOTAL_ORDER) AS TOTAL_ORDER FROM FIRST_HALF AS F INNER JOIN ICECREAM_INFO AS I ON F.FLAVOR = I.FLAVOR GROUP BY I.INGREDIENT_TYPE; ICECREAM_INFO와 INNER JOIN을 한 후, INGREDIENT_TYPE으로 GROUP BY합..
https://school.programmers.co.kr/learn/courses/30/lessons/42583 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] # deque로 구현 # queue를 bridge_length만큼 만든 뒤 # queue의 총합이 weight보다 낮을 경우 # truck_weights를 하나씩 다리 위로 올린다(queue에 올린다) # 올라갔을 때는 항상 하나씩 작아지면서 맨 뒤에껄 0으로 업데이트해야함 # popleft를 하고, 뒤에 append로 쌓아야함 # 하지만 popleft할 때 append는 항상 0으로만 ..
https://school.programmers.co.kr/learn/courses/30/lessons/77487 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] SELECT * FROM PLACES WHERE HOST_ID IN (SELECT HOST_ID FROM PLACES GROUP BY HOST_ID HAVING COUNT(*) >= 2); 서브쿼리로 간단하게 풀 수 있는 문제였습니다. HOST_ID를 GROUP BY 한 것으로 COUNT를 세고, COUNT가 2보다 큰 HOST_ID를 가져와서 HOST_ID가 해당 튜플 안에 존재하는 걸..
https://school.programmers.co.kr/learn/courses/30/lessons/42578 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] def solution(clothes): vd = dict() # 초기화 for clothe in clothes: vd[clothe[1]] = 0 # 딕셔너리 생성 for clothe in clothes: vd[clothe[1]] += 1 # 각 리스트별 가짓수 곱하기, 안입는 경우 추가(+ 1) first = 1 for i in vd.values(): first *= (i + 1) re..
https://school.programmers.co.kr/learn/courses/30/lessons/42577 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] 처음 풀이 def solution(phone_book): phone_book.sort() for idx, word in enumerate(phone_book): for word2 in phone_book[idx + 1:]: if word == word2[: len(word)]: return False return True phone_book을 sorting 한 뒤(문자열 길이) 짧은 문자..
https://school.programmers.co.kr/learn/courses/30/lessons/144854 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] SELECT BOOK_ID, AUTHOR_NAME, DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d') as PUBLISHED_DATE FROM BOOK INNER JOIN AUTHOR ON BOOK.CATEGORY = '경제' and BOOK.AUTHOR_ID = AUTHOR.AUTHOR_ID ORDER BY PUBLISHED_DATE; WHERE로 풀어도 상관 없..
https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] from collections import Counter def solution(k, tangerine): total = 0 answer = 0 for i, v in Counter(tangerine).most_common(k): total += v answer += 1 if total >= k: return answer Counter로 가장 많은 귤의 크기로 정렬한 뒤 total에 귤의..
https://school.programmers.co.kr/learn/courses/30/lessons/142086 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] def solution(s): answer = [] dict_ = {} for idx, apb in enumerate(s): if apb in dict_.keys(): result = idx - dict_[apb] answer.append(result) dict_[apb] = idx else : dict_[apb] = idx answer.append(-1) return answer 리스..