[Programmers] Level 3. 다단계 칫솔 판매
·
코딩테스트/Python
🔗 Problem Link https://school.programmers.co.kr/learn/courses/30/lessons/77486 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❔Thinking 트리 형식의 다단계 관계가 주어지면, 조건에 맞게 이익을 계산해 최종 이익금을 반환한다. 10%를 자신을 추천한 사람에게 떼어주고, 10%한 금액이 1원 미만인 경우는 본인이 전액을 가진다. 💻Solution def solution(enroll, referral, seller, amount): n = len(enroll) tree = {} money =..
[Programmers] Level 3. 보석 쇼핑
·
코딩테스트/Python
🔗 Problem Link 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❔Thinking 구간 내의 모든 보석을 담을 때, 모든 종류의 보석이 하나 이상 담기는 가장 짧은 구간을 반환한다. 💻Solution def solution(gems): n = len(set(gems)) answer = [0, len(gems)-1] gem = {gems[0]: 1} s, e = 0, 0 while s < len(gems) and e < len(gems): if len(gem) == n: if e-s < answer[1] - answer[0]: answer = [s..
[Baekjoon] 17219. 비밀번호 찾기
·
코딩테스트/Python
🔗 Problem Link 17219번: 비밀번호 찾기 첫째 줄에 저장된 사이트 주소의 수 N(1 ≤ N ≤ 100,000)과 비밀번호를 찾으려는 사이트 주소의 수 M(1 ≤ M ≤ 100,000)이 주어진다. 두번째 줄부터 N개의 줄에 걸쳐 각 줄에 사이트 주소와 비밀번 www.acmicpc.net ❔Thinking "사이트주소 비밀번호"가 적힌 메모를 참고하여, 사이트 주소에 맞는 비밀번호를 출력한다. 입력이 많기 때문에, input이 아닌 다른 입력 방법을 활용한다. 💻Solution import sys N, M = map(int, sys.stdin.readline().split()) password_dict = {} a = sys.stdin.read().splitlines() sites = a[-..
[Programmers] Level 2. 전화번호 목록 (Python)
·
코딩테스트/Python
🔗 Problem Link 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❔Thinking 한 번호가, 다른 번호의 시작과 동일한 경우가 있다면 False, 하나도 없다면 True를 반환한다. 💻Solution 1. 모든 접두사를 확인하는 풀이 def solution(phone_book): phone_dict = {number : number for number in phone_book} for phone_num in phone_book: for i in range(1,len(phone_num)): if phone_num[:i] in phone_dict ..