본문 바로가기

728x90

[백준알고리즘] 2143번: 두 배열의 합 -Python [백준알고리즘] 2143번: 두 배열의 합 -Python https://www.acmicpc.net/problem/2143 2143번: 두 배열의 합 첫째 줄에 T(-1,000,000,000 ≤ T ≤ 1,000,000,000)가 주어진다. 다음 줄에는 n(1 ≤ n ≤ 1,000)이 주어지고, 그 다음 줄에 n개의 정수로 A[1], …, A[n]이 주어진다. 다음 줄에는 m(1≤m≤1,000)이 주어지고, 그 다음 줄에 m개의 정수로 B[1], …, B[m]이 주어진다. 각각의 배열 원소는 절댓값이 1,000,000을 넘지 않는 정수이다. www.acmicpc.net 이제 이런 문제는 간단한 것 같다... 나중에 또 시간이 지나서 풀려하면 어렵겠지만.. 문제에서 요구하는 것은 두 개의 배열 A, B에서.. 더보기
[백준알고리즘] 1208번: 부분수열의 합 2 -Python [백준알고리즘] 1208번: 부분수열의 합 2 -Python 1208번: 부분수열의 합 2 (acmicpc.net) 1208번: 부분수열의 합 2 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 40, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. www.acmicpc.net 기존의 풀었던 1182번 부분수열의 합과 요구하는 것은 같다. 아래는 기존에 풀었던 코드다. 물론 이번 문제에서는 절대 통과되지 않는다. import sys from itertools import combinations n, s = map(int, sys.stdin.readline().split()) arr .. 더보기
[백준알고리즘] 2003번: 수들의 합 2 -Python [백준알고리즘] 2003번: 수들의 합 2 -Python https://www.acmicpc.net/problem/2003 2003번: 수들의 합 2 첫째 줄에 N(1≤N≤10,000), M(1≤M≤300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다. www.acmicpc.net 두 가지 방법으로 문제를 해결했다. 쉽게 봤다가 시간제한이 0.5 임을 나중에 보고 Python으로 포기하기도 했었다.. 결국 Python으로도 통과하긴 했다. 연속합을 직접 구해준 방법 더블 포인터를 사용해 값을 찾아간 방법 1번 방법 처음에는 1부터 I까지의 합에서 1부터 J까지의 합을 빼서 J부터 K까지의 값.. 더보기
[백준알고리즘] 1182번: 부분수열의 합 -Python [백준알고리즘] 1182번: 부분수열의 합 -Python https://www.acmicpc.net/problem/1182 1182번: 부분수열의 합 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. www.acmicpc.net 뻘짓했당 부분 수열이라고만 했는데 연속된 부분 수열인 줄 알고 계속 시도했었다.. 반례도 찾아가면서... 그러다가 아래의 반례를 찾고는.. 그냥 아무렇게나 뽑아서 만든 부분 수열이란 것을 알았다. 5 0 0 0 0 0 0 output:31 바로 combinations 메서드 써서 통과했다. 1 2 3 4 .. 더보기
[백준알고리즘] 1699번: 제곱수의 합 -Python [백준알고리즘] 1699번: 제곱수의 합 -Python https://www.acmicpc.net/problem/1699 1699번: 제곱수의 합 어떤 자연수 N은 그보다 작거나 같은 제곱수들의 합으로 나타낼 수 있다. 예를 들어 11=32+12+12(3개 항)이다. 이런 표현방법은 여러 가지가 될 수 있는데, 11의 경우 11=22+22+12+12+12(5개 항)도 가능하다. 이 경우, 수학자 숌크라테스는 “11은 3개 항의 제곱수 합으로 표현할 수 있다.”라고 말한다. 또한 11은 그보다 적은 항의 제곱수 합으로 표현할 수 없으므로, 11을 그 합으로써 표현할 수 있는 제곱수 항의 최소 개수는 www.acmicpc.net 이번 문제는 Python3로 통과하지 못하고 PyPy3로 통과할 수 있었다. P.. 더보기

728x90