[Programmers] Level 3. 단속 카메라
·
코딩테스트/Python
🔗 Problem Link 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❔Thinking 차량의 진입,진출 기록이 각각 담긴 routes를 활용해, 모든 차량을 단속할 수 있는 최소 카메라 개수를 반환한다. 진입과 진출 시에 만나는 단속카메라도 단속이 가능하다. 💻Solution 1. 뒤에서부터 차례로 확인해나가는 풀이 def solution(routes): answer = 0 routes = sorted(routes, key=lambda x: x[0]) while routes: camera_site = routes.pop()[0] # 카메라 설치 wh..
무작정 시리즈의 시작
·
ML_DL/MUJAKJUNG (무작정 시리즈)
개와 고양이를 분류하는 모델은 예제로 많이 다루었잖아! 쉽잖아! 바로 할 수 있지? 무작정 시리즈의 시작은 이 질문이었다. 과연 나는, 비어있는 jupyternotebook의 마지막에, 개와 고양이를 분류한 결과를 출력할 수 있을까. 단숨에 MUJAKJUNG이라는 파일 이름을 정하고는 코드를 작성하기 시작했다. 무언가를 하려면, 또 무언가를 안다고 말하려면 아이러니하게도 '아는 것과 모르는 것'을 명확히 해야 한다. 목표를 이루기 위해 코드 작성을 이어나가면서, 새로 배운것과 더해지는 지식들은 별도로 정리해보려고 한다.
[Programmers] Level 3. 최고의 집합 (Python)
·
코딩테스트/Python
🔗 Problem Link 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❔Thinking 자연수 n개로 이루어진 중복집합 중에, 원소의 합이 S되고 그 곱이 최대인 집합('최고의 집합')을 반환한다. '최고의 집합'이 존재하지 않을 경우, [-1]을 반환한다. 💻Solution import math def solution(n, s): if n > s: return [-1] answer = [] while n >= 1: num = math.ceil(s/n) answer.append(num) n -= 1 s -= num return sorted(answer..
[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 ..
[Programmers] Level 2. 삼각 달팽이 (Python)
·
코딩테스트/Python
🔗 Problem Link 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❔Thinking 주어진 삼각형을 반시계 방향으로 채워나가는 방법은 다음과 같은 과정의 반복이다. 층을 내려가면서, 숫자를 하나씩 늘려 채워나간다. 같은 층의 오른쪽으로 끝까지 가면서, 숫자를 하나씩 늘려 채워나간다. 층을 올라가면서, 숫자를 하나씩 늘려 채워나간다. 위와 같은 방법으로 채워진 삼각형을 각 층의 왼쪽부터 차례대로 리스트에 담아 반환한다. 💻Solution def solution(n): answer = [] triangle = [[0 for _ in range(i)] ..