Python 929

프로그래머스(Python) Level.1 모의고사 풀이

Python으로 구현한 42840번 모의고사 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12901 코딩테스트 연습 - 2016년 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까 programmers.co.kr def solution(answers): answer = [0 for i in range(3)] first = [1, 2, 3, 4, 5] second = [2, 1, 2, 3, 2, 4, 2, 5] third = [3, 3, 1, 1, 2, 2, 4, 4, 5..

프로그래머스(Python) Level.1 체육복 풀이

Python으로 구현한 42862번 체육복 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr def solution(n, lost, reserve): lost_update = list(set(lost) - set(reserve)) reserve_update = list(set(reserve) - set(lost)) answer = n - len(lost_update) for i in lost_u..

백준(Python) 11052번 카드 구매하기 풀이

Python으로 구현한 11052번 카드 구매하기 문제 풀이입니다. https://www.acmicpc.net/problem/11052 11052번: 카드 구매하기 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net import sys input = sys.stdin.readline n = int(input()) p = [0] + list(map(int, input().split())) dp = [0] * (n + 1) for i in range(1, n + 1) : for j in range(1, i + 1) : dp[i] = max(dp[i], ..

백준(Python) 2011번 암호코드 풀이

Python으로 구현한 2011번 암호코드 문제 풀이입니다. https://www.acmicpc.net/problem/2011 2011번: 암호코드 나올 수 있는 해석의 가짓수를 구하시오. 정답이 매우 클 수 있으므로, 1000000으로 나눈 나머지를 출력한다. 암호가 잘못되어 암호를 해석할 수 없는 경우에는 0을 출력한다. www.acmicpc.net data = list(map(int, list(input()))) l = len(data) dp = [0] * (l + 1) if data[0] == 0 : print(0) else : data = [0] + data dp[0] = 1 dp[1] = 1 # 암호코드 1개 for i in range(2, l + 1) : value = data[i] # 한자..

프로그래머스(Python) Level.1 2016년 풀이

Python으로 구현한 12901번 2016년 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12901 코딩테스트 연습 - 2016년 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까 programmers.co.kr def solution(a, b): day = ["THU", "FRI", "SAT", "SUN", "MON", "TUE", "WED"] mon = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] result = day[(..

프로그래머스(Python) Level.1 가운데 글자 가져오기 풀이

Python으로 구현한 12903번 가운데 글자 가져오기 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12903 코딩테스트 연습 - 가운데 글자 가져오기 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret programmers.co.kr def solution(s): answer = '' if len(s) % 2 == 0 : index = len(s) // 2 -1 answer += s[index:index+2] else : index = len(s) // 2 answer += s[..

백준(Python) 2225번 합분해 풀이

Python으로 구현한 2225번 합분해 문제 풀이입니다. https://www.acmicpc.net/problem/2225 2225번: 합분해 첫째 줄에 답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net import sys input = sys.stdin.readline n, k = map(int, input().split()) dp = [[0] * 201 for _ in range(201)] for i in range(201) : dp[1][i] = 1 dp[2][i] = i + 1 for i in range(2, 201) : dp[i][1] = i for j in range(2, 201) : dp[i][j] = (dp[i-1][j] + dp[i][j-1]) % ..

백준(Python) 9461번 파도반 수열 풀이

Python으로 구현한 9461번 파도반 수열 문제 풀이입니다. https://www.acmicpc.net/problem/9461 9461번: 파도반 수열 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 www.acmicpc.net t = int(input()) dp = [0] * 101 for _ in range(t) : n = int(input()) def solution(n) : if n == 1 or n == 2 or n == 3 : return 1 if dp[n] != 0 : return dp[n] dp[n] = solution(n-2) + solution(..

백준(Python) 2133번 타일 채우기 풀이

Python으로 구현한 2133번 타일 채우기 문제 풀이입니다. https://www.acmicpc.net/problem/2133 2133번: 타일 채우기 3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자. www.acmicpc.net # 1일 때 : 0 # 2일 때 : 3 # 3일 때 : 0 # 4일 때 : 11 # 5일 때 : 0 n = int(input()) if n == 1 : print(0) elif n == 2 : print(3) elif n == 3 : print(0) else : dp = [0] * (n + 1) dp[0] = 1 dp[2] = 3 for i in range(4, n + 1) : if i % 2 == 0 : dp[i] = dp[i-2] * 3 f..

프로그래머스(Python) Level.1 나누어 떨어지는 숫자 배열 풀이

Python으로 구현한 12910번 나누어 떨어지는 숫자 배열 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12910 코딩테스트 연습 - 나누어 떨어지는 숫자 배열 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하 programmers.co.kr def solution(arr, divisor): answer = [] for i in arr : if i % divisor == 0 : answer.append(i) if len(answer) == 0 : retu..