[Python][프로그래머스] 모의고사 - 파이썬 풀이 출처 https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 완전 탐색 알고리즘을 이용하여 풀이하는 문제로 규칙을 잘 정리하고 처음부터 끝까지 하나하나 대입하며 풀이하면 된다. 소스코드 def solution(answers): answer = [] a = [1, 2, 3, 4, 5] b = [2, 1, 2, 3, 2, 4, 2, 5] c = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5] ..
[Python][2022 KAKAO] 프로그래머스 신고 결과 받기 - 92334 출처 https://programmers.co.kr/learn/courses/30/lessons/92334 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 중복을 제거하고 딕셔너리를 활용하면 코드를 간단하게 작성하여 풀이할 수 있는 문제였다. 소스코드 def solution(id_list, report, k): answer = [0] * len(id_list) cnt = {x:0 for x in id_list} for i ..
[Python] 백준 알고리즘 온라인 저지 11057 오르막 수 출처 https://www.acmicpc.net/problem/11057 11057번: 오르막 수 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수 www.acmicpc.net 자릿수가 오름차순으로 증가하는 수를 오르막 수라고 하고 이전이나 다음 자릿수는 같은 크기를 가져도 오르막 수이다. 점화식을 찾아 문제를 풀이해야 했고 그 과정이 생각보다 오래 걸렸다. N과 끝으로 오는 수를 기준으로 점화식을 세워야 한다. 알고리즘 분류 다이내믹 프로그래밍 소스코드 import..
[Python] 백준 알고리즘 온라인 저지 1309 동물원 https://www.acmicpc.net/problem/1309 1309번: 동물원 첫째 줄에 우리의 크기 N(1≤N≤100,000)이 주어진다. www.acmicpc.net 이번 문제도 다이내믹 프로그래밍을 이용해 경우의 수를 계산하는 문제로 주의할 점은 사자가 없는 경우도 경우의 수로 계산한다는 점이었다. 알고리즘 분류 다이내믹 프로그래밍 소스코드 import sys input = sys.stdin.readline n = int(input()) dp = [0, 3, 7] + [0] * (n - 2) for i in range(3, n+1): dp[i] = (dp[i-2]+(dp[i-1] * 2)) % 9901 print(dp[n]) 풀이 점..
[Python] 백준 알고리즘 온라인 저지 1149 RGB거리 https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 이전의 집과 색이 같지 않고, 다음 집의 색이 같지 않아야 한다. 이 조건을 만족하며 비용의 최솟값 또한 고려해야 한다. 알고리즘 분류 다이내믹 프로그래밍 소스코드 import sys input = sys.stdin.readline n = int(input()) RGB = [list(map(int, input()...
[Python] 백준 알고리즘 온라인 저지 15988 1, 2, 3 더하기 3 https://www.acmicpc.net/problem/15988 15988번: 1, 2, 3 더하기 3 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 1,000,000,009로 나눈 나머지를 출력한다. www.acmicpc.net 정수 n을 1, 2, 3의 합으로 표현해야 한다. 표현하는 방법이 어느 정도 규칙적인 것 같아 규칙을 찾아 풀이하기로 했다. 알고리즘 분류 다이내믹 프로그래밍 소스코드 import sys input = sys.stdin.readline dp = [1,2,4,7] for i in range(int(input())): n = int(input()) for j in range..