Alogorithm

Alogorithm/programmers

[programmers] Lv3 등산코스 정하기 - Python

https://school.programmers.co.kr/learn/courses/30/lessons/118669 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 게이트에서 산봉우리까지 가는 길만 판단하면 된다. 어차피 같은 길로 내려오면 되니까. - heap을 이용하면 보다 시간복잡도도 해결되고 최소값을 먼저 꺼내 확인할 수 있다. - summits을 set 자료형 변환하여 봉우리인지 확인할 때 시간을 줄일 수 있다. from collections import defaultdict import heapq def solution(n, paths, ga..

Alogorithm/programmers

[programmers] Lv3 표현 가능한 이진트리 - Python

https://school.programmers.co.kr/learn/courses/30/lessons/150367 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 이 문제를 풀기 위해서는 트리구조와 순회방법에 대해 알아야 했다. - 먼저 포화이진트리로 형태를 맞춰주기 위해 주어진 수를 이진수로 변환 후 부족한 자리는 0으로 채워넣는다. - 문제의 예제에서는 트리는 0이 위치한 자리엔 노드가 존재하지 않고 1이 위치한 곳만 실제 형태로 남아있다. - 이진트리를 형성하기 위해서는 루트노드를 제외한 노드들은 부모 노드가 존재해야한다. - 만약 부모 노드가 ..

Alogorithm/programmers

[programmers] Lv3 미로 탈출 명령어 - Python

https://school.programmers.co.kr/learn/courses/30/lessons/150365 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 해당 문제는 주어진 조건대로 하나씩 구현하는 문제이다. 핵심은 어느 방향, 얼마나 이동했는지 카운트가 중요했다. - k만큼 이동해야했기 때문에 최소 이동거리를 알아야 중간에 다른 곳으로 들러서 목표 지점에 도착 할 수 있다. 이때 최소 이동거리 경로에서 이탈한 후 다시 합류하기 위해 반드시 k는 최소 이동거리를 제외하고 값이 짝수가 되어야 했다. - 사전순으로 가장 앞에오는 명령어를 만들어야..

Alogorithm/programmers

[programmers] Lv3 아방가르드 타일링 - Python

https://school.programmers.co.kr/learn/courses/30/lessons/181186 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 다른 사람의 힌트를 보고 푼 문제이다. 초반에 직접 세어가면서 했지만 아직도 이해가 조금 부족해서 설명은 어려울 것 같다. 코드는 참고용으로... - 자세한 힌트는 해당문제의 질문목록을 참고하도록 하자!!! - 혹시 잘 아시는 분이 계시다면 댓글로 남겨주세요.^^ def solution(n): dp = [0, 1, 3, 10] check = [8, 0, 2] if n > 3: dp += [0..

Alogorithm/programmers

[programmers] Lv2 귤 고르기 - Python

https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 문제에서 구하고자 하는 것은 귤의 종류(크기)수를 최소화 하는 것이다. 즉, 해당 크기의 귤이 많은 순서대로 귤을 수확하여 k를 맞추면 된다는 것이다. - 문제에서 주어진 입력값(확인해야할 귤)은 최대 100,000 이므로 O(NlogN)이내로 설계 하면 문제를 해결할 수 있다. - 먼저, 종류(크기)별로 귤의 개수를 분류한 후, 반복문을 이용해 [귤 크기, 수]를 담은 리스트를 생성한다. ..

Alogorithm/programmers

[programmers] Lv3 상담원 인원 - Python

https://school.programmers.co.kr/learn/courses/30/lessons/214288 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 질문하기의 힌트를 참고해 해결했다. 이를 통해 itertools의 중복 조합 뽑기를 알게 되었으며, 멘토가 유형별로 배치되는 경우의 수를 쉽게 구할 수 있다. combinations(iterable, r)이 원소의 수가 r개인 조합을 생성하는 것이라면 combinations_with_replacement(iterable, r)는 원소의 수가 r개인 중복 조합 뽑기 이다. - heapq의 최소..

Alogorithm/programmers

[programmers] Lv3 거스름돈 - Python & Java

https://school.programmers.co.kr/learn/courses/30/lessons/12907 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - DP를 이용하는 문제인 것 같다. - 해당 문제는 앞서 포스팅한 백준의 동전 문제들과 유사? 가 아니라 그냥 같은 것 같다. https://kcw0360.tistory.com/4 [BAEKJOON] 9084 동전 - Python 9084번: 동전 (acmicpc.net) 9084번: 동전 우리나라 화폐단위, 특히 동전에는 1원, 5원, 10원, 50원, 100원, 500원이 있다. 이 동전들로..

Alogorithm/BAEKJOON

[BAEKJOON] 2293 동전 1 - Python

https://www.acmicpc.net/problem/2293 2293번: 동전 1 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. www.acmicpc.net - 앞서 포스팅한 동전 문제와 같은 dp문제이다. https://kcw0360.tistory.com/4 [BAEKJOON] 9084 동전 - Python 9084번: 동전 (acmicpc.net) 9084번: 동전 우리나라 화폐단위, 특히 동전에는 1원, 5원, 10원, 50원, 100원, 500원이 있다. 이 동전들로는 정수의 금액을 만들 수 있으며 그 방법도 여러 가지가 있을 수 있다. kcw0..

Alogorithm/programmers

[programmers] Lv2 올바른 괄호 - Python & Java

https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - stack을 이용하는 문제이다. - 입력되는 문자를 반복문을 통해 하나씩 체크하면서 여는 괄호('(') 일 때는 stack에 누적하고 닫는 괄호(')') 일 때는 스택에 쌓인 것을 하나 제거한다. - 중간에 stack에 없는데 닫는 괄호가 나오는 경우와 반복문이 끝나고 stack에 여는 괄호가 남아있는 경우는 올바르지 않은 괄호이다. - stack을 굳이 배열로 하지않고 숫자 카운팅으로 진행해..

Alogorithm/programmers

[programmers] Lv2 2xn 타일링 - Python

https://school.programmers.co.kr/learn/courses/30/lessons/12900 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - DP 문제였다. - dp를 하기 위해 테이블 초기값을 직사각형이 0., 1, 2개 일 때 값을 미리 설정해 준다. - 이후 3부터 n까지 아래 코드와 같은 식으로 테이블을 채워 나간다. def solution(n): dp = [0, 1, 2] # 2 x n 타일을 채울 때 n이 0, 1, 2일 때 나올 수 있는 경우의 수 if n > 2: # n이 3보다 큰 경우 진행 dp += [0] * (..

Dorobo
'Alogorithm' 카테고리의 글 목록