본문 바로가기

분류 전체보기

(328)
[프로그래머스] 트리 트리오 중간값 https://school.programmers.co.kr/learn/courses/30/lessons/68937 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr🤔 문제분석트리의 성질과 중간값의 성질을 이용하여 해결하는 문제이다.간선이 단 1개 연결되어있는 노드에서 다른 노드 까지의 거리를 구하면 반드시 최대값을 갖는다. ( 트리의 성질 )간선이 단 1개 연결되어있는 노드를 찾기위해서는 특정 아무 노드에서 다른 노드까지의 최대 거리 값을 가지고 있는 노드가 간선이 단 1개 연결되어있는 노드이다.특정 노드에서 간선이 1개인 특정노드를 구한다.간선이 1개인 노드..
[프로그래머스] 삼각달팽이 https://school.programmers.co.kr/learn/courses/30/lessons/68645 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr🤔 문제분석달팽이처럼 회전하면서 그래프를 그려야 하는 문제이다. 달팽이의 규칙을 분석하여 그래프를 그리면된다.이동하는 순서는 아래 이동 → 오른쪽 이동 → 위로 이동 → 아래 이동 … 방식으로 이동한다.이동하는량은 n이 6일때, 6 → 5 → 4 → 3 → 2 → 1 방식으로 이동한다.위의 규칙을 기반으로 x, y 좌표계에서 생각해보면 아래의 방식으로 이동해야 원하는 그래프에 값을 채울 수 있다.아래..
[프로그래머스] 기지국 설치 https://school.programmers.co.kr/learn/courses/30/lessons/12979 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr🤔 문제분석처음에 문제를 접했을때 아래와 같은 방식으로 방법을 정하여 문제를 해결하였습니다.주어진 위치를 기준으로 기지국의 범위를 정한다.전파가 되지 않는 도시의 구간을 모두 구한다.도시의 구간의 길이를 구하여 기지국을 설치할 최소 수를 카운팅 한다.설치할 최소 수 = 올림(도시의 길이 / w*2 + 1)💻 코드from math import ceildef solution(n, stations, w)..
[프로그래머스] 스티커 모으기2 https://school.programmers.co.kr/learn/courses/30/lessons/12971 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr🤔 문제분석첫번째 스티커를 붙힌경우, 첫번째 스티커를 붙히지 않은경우(마지막 스티커를 붙힌경우) 두 가지 중 가장 큰 값을 찾아서 리턴하면 된다.다이나믹 프로그래밍을 활용해야 하는데 또한 2가지 사항에 대하여 고려해야한다.현재위치에서 스티커를 붙히는 경우 i-2 번째에서의 최대값 + 현재 스티커 값현재위치에서 스티커를 붙히지 않는 경우 i-1 번재에서의 최대값1번과 2번 사항 중 최대값으로 갱신 해 ..
[프로그래머스] 멀쩡한 사각형 https://school.programmers.co.kr/learn/courses/30/lessons/62048 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr🤔 문제분석유클리드 호제법을 이용하여 접근합니다.w와 h의 최대공약수를 구한뒤 가장 작은 w와 h를 구하고 공약수를 통하여 배율을 증가시켜 정답을 찾아냅니다.배율이 가장작은 w와 h가 있을때 잘린 정사각형의 개수는 w+h-1 이 된다.따라서 가장 작은 배율을 구한뒤에 그 다음 배율을 곱하여 결과를 얻어내면 끝.💻 코드def solution(w,h): # w > h w, h = max(w,..
[프로그래머스] 지형편집 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 ..