목록PS/Programmers (55)
DevYoon
link 🔗 https://school.programmers.co.kr/learn/courses/30/lessons/77484 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ grade 리스트를 생성, 해당 인덱스(로또 일치 개수)에 맞는 순위를 적어줌 ✏️ 로또 번호와 일치하는 숫자의 개수를 세어줌 ➡️ 최저 순위 ✏️ 알아볼 수 없는 번호의 개수를 세어주고 위의 로또 번호와 일치하는 숫자의 개수와 합쳐줌 ➡️ 최고 순위 function solution(lottos, win_nums) { var answer = []; var cnt = 0; var ..
link 🔗 https://school.programmers.co.kr/learn/courses/30/lessons/42576?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 효율성 테스트 통과 못한 코드 function solution(participant, completion) { var answer = ""; participant.map((word)=>{ if(completion.includes(word)){ let where = completion.indexOf(word) completion.splice(whe..
link 🔗 https://programmers.co.kr/learn/courses/30/lessons/42897 코딩테스트 연습 - 도둑질 도둑이 어느 마을을 털 계획을 하고 있습니다. 이 마을의 모든 집들은 아래 그림과 같이 동그랗게 배치되어 있습니다. 각 집들은 서로 인접한 집들과 방범장치가 연결되어 있기 때문에 인접한 programmers.co.kr def solution(money): dp1 = [0]*len(money) # 첫번째 집 털기 dp1[0] = money[0] dp1[1] = money[0] for idx in range(2, len(money)-1): dp1[idx] = max(dp1[idx-1], dp1[idx-2]+money[idx]) # 마지막 집 털기 dp2 = [0]*le..
link 🔗 https://programmers.co.kr/learn/courses/30/lessons/42898 코딩테스트 연습 - 등굣길 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m = programmers.co.kr def solution(m, n, puddles): board = [[0]*(m+1) for _ in range(n+1)] puddles = [[j, i] for [i, j] in puddles] board[1][1] = 1 for y in range(1, n+1): for x in range(1, m+1): if y == 1 and x ..
link 🔗 https://programmers.co.kr/learn/courses/30/lessons/43105 코딩테스트 연습 - 정수 삼각형 [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 programmers.co.kr def solution(triangle): ret = [[0]*len(triangle[i]) for i in range(len(triangle))] ret[0][0] = triangle[0][0] for y in range(len(ret)-1): for x in range(len(triangle[y])): ret[y+1][x] = max(ret[y+1][x], triangle[y+1][x]+ret[y][x]) ret[y+1]..
link 🔗 https://programmers.co.kr/learn/courses/30/lessons/42895 코딩테스트 연습 - N으로 표현 programmers.co.kr def solution(N, number): if N == number: return 1 dp = [set() for _ in range(9)] for i in range(1, 9): dp[i].add(int(str(N)*i)) for j in range(1, i): for y in dp[j]: for x in dp[i-j]: dp[i].add(y+x) dp[i].add(y-x) dp[i].add(y*x) if x != 0: dp[i].add(y//x) if number in dp[i]: return i dp.append(dp[..
link 🔗 https://programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr def solution(prices): answer = [0]*len(prices) idx = 0 while idx prices[i]: answer[idx] += 1 ..
link 🔗 https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr def solution(priorities, location): answer = 0 while len(priorities) != 0: flag = 1 for idx in range(1, len(priorities)): if priorities[idx] > priorities[0]: flag = 0 temp = priorities.pop(0) priori..
link 🔗 https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr import math def solution(progresses, speeds): answer = [] length = len(progresses) left = [0]*length for idx in range(length): left[idx] = math.ceil((100-progresses[idx])/speeds[idx]) idx = 1 ..
link 🔗 https://programmers.co.kr/learn/courses/30/lessons/42583 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 programmers.co.kr 시간초과가 났던 코드 def solution(bridge_length, weight, truck_weights): answer = 1 bridge = [0]*bridge_length bridge[0] = truck_weights.pop(0) while sum(bridge)!=0: for idx in range(bridge_..