Python 929

프로그래머스(Python) Level.1 두 정수 사이의 합 풀이

Python으로 구현한 12912번 두 정수 사이의 합 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12912 코딩테스트 연습 - 두 정수 사이의 합 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우 programmers.co.kr def solution(a, b): answer = 0 if a

프로그래머스(Python) Level.1 문자열 내 마음대로 정렬하기 풀이

Python으로 구현한 12915번 문자열 내 마음대로 정렬하기 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12915 코딩테스트 연습 - 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱 programmers.co.kr def solution(strings, n): answer = sorted(strings, key=lambda x : (x[n], x)) return answer 1. 파이썬에서 사용할 수 있는 lambda를 통해..

백준(Python) 1699번 제곱수의 합 풀이

Python으로 구현한 1699번 제곱수의 합 문제 풀이입니다. https://www.acmicpc.net/problem/1699 1699번: 제곱수의 합 어떤 자연수 N은 그보다 작거나 같은 제곱수들의 합으로 나타낼 수 있다. 예를 들어 11=32+12+12(3개 항)이다. 이런 표현방법은 여러 가지가 될 수 있는데, 11의 경우 11=22+22+12+12+12(5개 항)도 가능하다 www.acmicpc.net import sys input = sys.stdin.readline n = int(input()) dp = [i for i in range(n + 1)] for i in range(1, n + 1) : for j in range(1, i) : if j**2 > i : break if dp[i] ..

백준(Python) 2579번 계단 오르기 풀이

Python으로 구현한 2579번 계단 오르기 문제 풀이입니다. https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net import sys input = sys.stdin.readline n = int(input()) stair = [0] for _ in range(n) : stair.append(int(input())) if n == 1 : print(stair[1]) else : dp = [0] * (n + 1) dp[1] = stair[1] dp[2] = s..

백준(Python) 1912번 연속합 풀이

Python으로 구현한 1912번 연속합 문제 풀이입니다. https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net import sys input = sys.stdin.readline n = int(input()) data = list(map(int, input().split())) dp = [i for i in data] for i in range(1, n) : dp[i] = max(dp[i], dp[i-1] + data[i]) print(max(dp)) 1. ..

백준(Python) 11054번 가장 긴 바이토닉 부분 수열 풀이

Python으로 구현한 11054번 가장 긴 바이토닉 부분 수열 문제 풀이입니다. https://www.acmicpc.net/problem/11054 11054번: 가장 긴 바이토닉 부분 수열 첫째 줄에 수열 A의 크기 N이 주어지고, 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ Ai ≤ 1,000) www.acmicpc.net import sys input = sys.stdin.readline a = int(input()) data= list(map(int, input().split())) increase = [1] * a decrease = [1] * a for i in range(a) : for j in range(i) : if data[j] < data..

백준(Python) 11722번 가장 긴 감소하는 부분 수열 풀이

Python으로 구현한 11722번 가장 긴 감소하는 부분 수열 문제 풀이입니다. https://www.acmicpc.net/problem/11722 11722번: 가장 긴 감소하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 감소하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 30, 10, 20, 20, 10} 인 경우에 가장 긴 감소하는 부분 수열은 A = {10, 30, 10, 20, 20, 10} www.acmicpc.net import sys input = sys.stdin.readline a = int(input()) data = list(map(int, input().split())) dp = [1] * a for i in range(a) : for j in..

백준(Python) 11055번 가장 큰 증가 부분 수열 풀이

Python으로 구현한 11055번 가장 큰 증가 부분 수열 문제 풀이입니다. https://www.acmicpc.net/problem/11055 11055번: 가장 큰 증가 부분 수열 수열 A가 주어졌을 때, 그 수열의 증가 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가 부분 수 www.acmicpc.net import sys input = sys.stdin.readline a = int(input()) data = list(map(int, input().split())) dp = [i for i in data] for i in range(a) : for j in ..

프로그래머스(Python) Level.1 문자열 내림차순으로 배치하기 풀이

Python으로 구현한 12917번 문자열 내림차순으로 배치하기 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12917 코딩테스트 연습 - 문자열 내림차순으로 배치하기 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 programmers.co.kr def solution(s): answer = sorted(s, reverse=True) answer = "".join(answer) return answer 1. sorted()를 사용하여 s를 정렬하고, reverse=True를 통해 내림차순으로 정..

프로그래머스(Python) Level.1 문자열 다루기 기본 풀이

Python으로 구현한 12918번 문자열 다루기 기본 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12918 코딩테스트 연습 - 문자열 다루기 기본 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 programmers.co.kr def solution(s): answer = True if len(s) != 4 and len(s) != 6 : answer = False else : for i in range(len(s)) : if ord(s[i]) >= 65 :..