본문 바로가기

Coding test

(123)
[ 프로그래머스 / 파이썬 ] 무지의 먹방 라이브 🔗 Linkhttps://school.programmers.co.kr/learn/courses/30/lessons/42891 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 🧩 Source Codeimport heapqdef solution(food_times, k): # 모든 음식을 다 먹을 수 없는 경우 if sum(food_times) k: break total_time += cycle_time prev_time = heapq.heappop(heap)[0] food_count -= 1 remaining_f..
[ 프로그래머스 / 파이썬 ] 기둥과 보 설치 🔗 Linkhttps://school.programmers.co.kr/learn/courses/30/lessons/60061?language=python3 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 🧩 Source Code'''기둥과 보를 설치 및 삭제할 수 있는 환경인지 체크있다면 실행 없다면 복구'''def solution(n, build_frame): made = [] def can_build(x,y,a): if a == 0: # 기둥 return y == 0 or [x, y - 1, 0] in made or [x - 1, y, 1] in..
[ 프로그래머스 / 파이썬 ] 이모티콘 할인행사 🔗 Linkhttps://school.programmers.co.kr/learn/courses/30/lessons/150368 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 🧩 Source Codefrom itertools import productdef solution(users, emoticons): max_subscribers, max_revenue = 0, 0 n = len(emoticons) discount_rate = [10,20,30,40] for discounts in product(discount_rate, repeat = n): subscr..
[프로그래머스 / 파이썬 ] 풍선 터트리기 🔗 Link https://school.programmers.co.kr/learn/courses/30/lessons/68646 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 🧩 Source Codedef solution(a): answer = len(a) left_min = [] mini = float('inf') for i in a: mini = min(mini, i) left_min.append(mini) mini = float('inf') right_min = [] for i in range(len(a)-1,-1,-1): ..
[ 프로그래머스/ 파이썬 ] [1차] 셔틀버스 🔗 Linkhttps://school.programmers.co.kr/learn/courses/30/lessons/17678 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 🧩 Source Codefrom collections import dequedef solution(n, t, m, timetable): answer = '' bus_depart_time_table = get_bus_depart_time_table(n,t) minute_table = sorted([ change_time_to_minute(t) for t in timetable]) queue = deque(min..
[백준/1422/파이썬] 숫자의 신 🔗 Link 🧩 Source Codefrom functools import cmp_to_keyimport sysinput = sys.stdin.readlinen, m = map(int, input().split())numbers = [input().strip() for _ in range(n)]max_num = str(max(map(int,numbers)))for _ in range (m-n): numbers.append(max_num)def compare(x, y): if x + y > y + x: return -1 elif x + y  📝 Commentary꽤나 유명한 문제로 알고 있는데 아마 프로그래머스에서 봤던 것 같다.다른 풀이로는 * 10000000뭐 이런 식..
[백준/ 파이썬/ 21608] 상어 초등학교 https://www.acmicpc.net/problem/21608Source Code# 10시 30분 시작 / 11시 27분 종료 import sysinput = sys.stdin.readlinen = int(input())students = n ** 2favor = dict()for _ in range (students) : info = list(map(int, input().split())) favor[info[0]] = info[1:]class_room = [[0] * n for _ in range (n)]def find_empty_sit(sit, length): blank_list = [] for i in range (length): for j in range ..
[Softeer/Javascript] 징검다리 알고리즘 : LIS (이분탐색)const fs = require('fs');const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');const n = Number(input[0]);const stones = input[1].split(' ').map(Number);function bisect_left(arr, target) { let left = 0; let right = arr.length; while (left  LIS 알고리즘을 알고 있다면 간단한 문제