알고리즘/프로그래머스 (34) 썸네일형 리스트형 [프로그래머스] 지형편집 https://school.programmers.co.kr/learn/courses/30/lessons/12984 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr🤔 문제분석처음 문제를 접근할때 블록의 높이가 10억임을 보고 이분탐색으로 문제를 접근하려고 하였다.아래의 두가지 조건을 세우고, 이분탐색을 해보았다.높이를 낮추면 P의 가중치의 합의 값은 변하지 않는다.높이를 높이면 Q의 가중치의 합의 값은 변하지 않는다.만약 P와 Q의 가중치 합이 같다면(?) 이라는 조건을 찾아 해매다가 결국 문제를 해결하지 못하였다.높이에 너무 집중한 나머지 정육면체 배열을 기.. [프로그래머스] 쿠키 구입 https://school.programmers.co.kr/learn/courses/30/lessons/49995 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr🤔 문제분석연속된 배열이 주어졌을때, A[l] + … A[m] = A[m+1] + .. + A[r] 을 만족하는 A[i] + .. A[m]의 최대값을 구해야한다.주어진 배열의 크기가 2000 이하이니 N의 제곱으로 문제를 접근하였습니다. 모든 경우의수를 다 탐색해보고 가장 최대값을 갱신하면되는데 두 가지의 조건으로 이중 반복문을 구성하여 문제를 해결 하였습니다.i번째 인덱스로부터 배열을 나눈다.투포인.. [프로그래머스] 의상 https://school.programmers.co.kr/learn/courses/30/lessons/42578 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr🤔 문제분석의상의 경우의수를 카운팅하여 해결합니다. Collection 모듈에 Counter를 사용하여 각각의 종류를 카운팅 합니다.모든 조합을 구해야합니다( 종류 개수 곱 )모든 조합에 - 1(모두 착용하지않은 경우)를 제외 해주면 끝.💻 코드from collections import Counterfrom functools import reducefrom operator import muldef .. [프로그래머스] 전화번호 목록 https://school.programmers.co.kr/learn/courses/30/lessons/42577 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr🤔 문제분석전화번호부를 정렬을 하게되면 문자열(아스키코드) 기준으로 정렬이 되기때문에 이전의 값과 접두어를 비교해보아 같다면 접두어가 존재한다.스트링의 정렬 순서맨 왼쪽의 문자 부터 아스키 코드 값 기준으로 정렬된다.맨 왼쪽의 값이 모두 같고, 길이가 더 긴 경우 그 다음으로 정렬된다. ( ex) ab와 a )💻 코드def solution(phone_book): # 정렬을 한뒤에 # i과.. [프로그래머스] 폰켓몬 https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr🤔 문제분석포켓몬을 n / 2 개 뽑았을때 갖을 수 있는 각 다른 포켓몬의 최대 조합의 수를 리턴하면 된다.set을 사용하여 중복을 제거하고, 길이를 비교하여 최소값을 리턴하도록 한다.💻 코드solution = lambda nums: min(len(nums) // 2, len(set(nums))) [프로그래머스] 다리를 지나는 트럭 https://school.programmers.co.kr/learn/courses/30/lessons/42583 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🤔 문제분석 덱큐를 이용하여 문제를 해결 하였습니다. 덱큐를 트럭을 담고있는 큐로 생각하고 0을 담고있다면 트럭은 없고 1 이상일경우 트럭이 있다고 가정합니다. 처음에 모든 큐를 다리 길이만큼 0으로 채워 줍니다. 트럭을 순회하면서 넣어봅니다. 덱의 마지막에 트럭이 존재한다면 현재무게와 현재 카운트를 뺍니다. 현재무게와 현재카운트를 만족시키는 트럭을 넣을 수 있다면 넣습니다. 넣지 못한다면 0을 .. [프로그래머스] H-Index https://school.programmers.co.kr/learn/courses/30/lessons/42747 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🤔 문제분석 이분탐색으로 문제를 해결하였습니다. H의 개수가 많다 → H값을 늘린다. ( H값을 늘릴경우 카운팅되는 수가 적어 진다 ) H의 개수가 적다 → H값을 감소시킨다. ( H값을 줄일경우 카운팅되는 수가 많아진다) 💻 코드 class Solution { // 정렬된 데이터에서 H를 기준으로 이분탐색한다. // 카운팅 한 개수가 h번 이상인 개수가 h이상이고, h번 이하 인용되었다면 증가시.. [프로그래머스] 도둑질 https://school.programmers.co.kr/learn/courses/30/lessons/42897 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🤔 문제분석 첫번째 집을 방문하거나, 첫번째 집을 방문하지 않는경우를 분기시켜 최대값을 구하면 된다. 첫번째 집을 방문한경우는 마지막 집을 방문할 수 없다. 첫번째 집을 방문하지않는 경우는 마지막 집을 방문할 수 있다. i번째의 최대값을 구할때 2가지의 값중 최대값을 갱신시켜준다. i-2 번째에서 온경우 자기자신이 방문 가능함 dp[i-2] + money[i] i-1 번째에서 온경우 자기자신이 방.. 이전 1 2 3 4 5 다음