[프로그래머스] / [Level 3] / [Python] 기지국 설치
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/12979 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr N의 크기가 2억 이하의 자연수이기 때문에 하나씩 탐색을 하게되면 시간초과를 출력한다. 따라서 제공되는 stations에 포함되지 않는 수의 개수를 계산해서 결과를 출력하도록 하였다. 이와 같은 경우 추가로 설치할 수 있는 '구역'은 1~2, 6~9 이다. 해당 범위의 개수인 2, 4를 (1+w*2)로 나눈 몫이 설치할 수 있는 기지국의 갯수가 된다 (나머지가 있는 경우 + 1). stations..
[프로그래머스] / [Level 3] / [Python] 숫자 게임
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/12987 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 제한 조건에 A와 B 리스트의 최대 길이가 100,000인 것을 확인하고 이중 for문을 사용하면 안된다고 판단하였다. (실제로 구현했을 때 시간초과를 확인할 수 있었다.) 또한, 조건에 A와 B의 리스트의 길이가 같다고 하였기 때문에 A와 B를 동시에 비교하기로 결정하였다. 먼저, A와 B의 리스트를 오름차순으로 정렬하여 비교하기 편하게 세팅하였다. 그 후, 마지막 원소부터 비교하여 A 원소보다..
[프로그래머스] / [Level 2] / [Python] 광물 캐기
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/172927 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 다음과 같이 DFS로 풀었지만 효율적인 측면에서 많이 좋지 않다는 것을 확인했다. import copy def solution(picks, minerals): answer = [] tired = [[1, 1, 1], [5, 1, 1], [25, 5, 1]] index = {'diamond': 0, 'iron': 1, 'stone': 2} def dfs(picks, minerals, value):..
[프로그래머스] / [Level 2] / [Python] 호텔 대실
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/155651 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 주의할 점으로 한 번 사용한 객실은 퇴실 시간을 기준으로 10분간 청소를 하고 다음 손님들이 사용할 수 있습니다. 조건을 확인해야 한다. from collections import deque def solution(book_time): room = [] book_time = [[int(b[0][:2])*60+int(b[0][-2:]), int(b[1][:2])*60+int(b[1][-2:])] ..
[프로그래머스] / [Level 2] / [Python] 무인도 여행
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/154540 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 전형적인 DFS/BFS 문제이다. 주의할 점으로 Python에서 기본적으로 재귀 함수의 깊이가 제한(RecursionError)이 되어 있어 이를 해제해야 한다. import sys sys.setrecursionlimit(10**5) def solution(maps): answer = [] row, col = len(maps), len(maps[0]) maps = [list(map) for ma..
[프로그래머스] / [Level 3] / [Python] 이중우선순위 큐
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/42628 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Heap 모듈을 사용해서 해결하였다. import heapq def solution(operations): answer = [] h = [] for oper in operations: order, index = oper.split(' ') index = int(index) if order == 'I': heapq.heappush(h, index) else: if h: if index == 1: h..
[프로그래머스] / [Level 2] / [Python] [3차] 파일명 정렬
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/17686 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(files): answer = [] an = [] for file in files: s = [] for idx, i in enumerate(file): if i.isdigit(): s.append(idx) elif len(s) > 0 and i.isdigit()==False: break head = file[:s[0]] number = file[s[0]:s[-1]+1] et..
[프로그래머스] / [Level 2] / [Python] [1차] 캐시
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/17680 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(cacheSize, cities): answer = 0 cachelist = [] cache_hit = 1 cache_miss = 5 # 조건 - 대소문자 구문 X & 최대 20자 cities = [city.lower() for city in cities] for city in cities: if city not in cachelist: cachelist.append(cit..
욱근욱
'programmers' 태그의 글 목록