본문 바로가기
728x90
반응형

전체 글143

[백준] 15894번: 수학은 체육과목 입니다 - python https://www.acmicpc.net/problem/15894 15894번: 수학은 체육과목 입니다 성원이는 수학을 정말 못 하는 고등학생이다. 수학을 못하는 대신 근성과 팔 힘이 뛰어난 성원이는 수학 시험에서 수학 지식을 사용하지 않고 근성과 체력을 사용해 문제를 푼다. 지난 시험에서 www.acmicpc.net 숙취로 인한 브론즈문제 어차피 도형의 둘레는 아래 + 옆 * 2+ 위 이므로 곱하기 4를 하면 끝 n = int(input()) print(n*4) 힐링 2024. 4. 1.
[백준] 11055번: 가장 큰 증가하는 부분 수열 - python https://www.acmicpc.net/problem/11055 11055번: 가장 큰 증가하는 부분 수열 수열 A가 주어졌을 때, 그 수열의 증가하는 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가하는 www.acmicpc.net 처음 작성한 아이디어 for문으로 돌면서 자기 자신보다 작으면 sum에 저장을 계속 해나가면서 high로 증가하는지 여부 체크 그 후 전 dp와 sum을 비교해 최대값을 저장하는 방식으로 구현을 했었다. n = int(input()) arr = list(map(int, input().split())) dp = [0] * (n+1) dp[.. 2024. 4. 1.
[백준] 11053번: 가장 긴 증가하는 부분 수열 - python https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net DP문제로 연속합과 비슷하게 가장 길게 증가하는 부분의 길이를 dp로 저장해 풀어나가는 방식이다. DP에 저장하기까지 생각이 꽤 오래걸렸다. 공부를 더 해야겠다. n = int(input()) arr = list(map(int, input().split())) dp = [1] * (n+1) for i in range(1.. 2024. 3. 30.
[백준] 1912번: 연속합 - python https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 구간의 최대 연속합을 구하는 문제 저장소를 만들어 현재까지의 최대 연속합을 저장해 나가면서 풀면 된다. 여기서 최대 연속합이 되는 경우는 3가지 경우인데 첫번째 경우는 -1 3 처럼 3이 현재값이 최대인경우 두번째는 3 2 처럼 전의 최장합과 바로 앞 원소가 더해져야 최대인 경우 세번째는 -1 2 3 처럼 자기 자신과 그 전 원소가 최대인 경우 이 모든 경우를 저장하며 끝까지 이어나간다음 dp의 최대값을 도.. 2024. 3. 30.
728x90
반응형