https://www.acmicpc.net/problem/2133 2133번: 타일 채우기3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자.www.acmicpc.net다이나믹 프로그래밍 문제입니다. 규칙을 찾아서 점화식을 만들면 됩니다. 문제에서 중요한점은 N이 짝수일 경우에는 2x1,1x2타일로 절대 채울수 없기 때문에 0을 출력해야합니다. 점화식을 세우는 과정을 예시를 들어서 설명하겠습니다.점화식을 구한 이후엔 dp배열을 만들어서 n들의 가짓수를 저장해줍니다. 그리고 저장한 값들을 통해서 원하는 값을 구합니다.본사진은 n이 8일때까지의 가짓수를 그린 사진입니다.n = 2 : 채우는 방식이 3가지가 있습니다.n = 4 : 채우는 방식 2가지가 더해집니다. 그리고 n-2인 가..
https://www.acmicpc.net/problem/2225 2225번: 합분해첫째 줄에 답을 1,000,000,000으로 나눈 나머지를 출력한다.www.acmicpc.net다이나믹 프로그래밍 문제이다. 문제의 포인트는 덧셈의 순서가 바뀐 경우 다른경우로 센다는 것과 0부터 N까지의 정수라는걸 기억해야한다. 가령 숫자 2를 2가지 정수를 더해서 만들때 0+2, 1+1, 2+0 이런식으로 3개의 경우가 생기는 것이다.이문제는 이런 결과를 저장해 나가는 방식으로 하면된다. 0부터 N까지의 정수를 1부터 k개를 더해서 나오는 경우의 수를 다 저장하면된다. 그후 배열의 가장 뒤에있는 숫자를 출력해주면 된다. 자세한것은 예시를 들어서 설명하겠다.다음은 문제 예제 입력 2로나와있는 N = 6 K = 4일경우의..
https://www.acmicpc.net/problem/2293 2293번: 동전 1첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다.www.acmicpc.net다이나믹 프로그래밍 문제이다. 골드인거 치고 간단하다. 다른 다이나믹 프로그래밍처럼 이전 값을 가져와서 더해주면된다. 이번엔 예시와 함께 설명하겠다.위 사진은 가치의 합이 k일때 가짓수를 다 적어놨다. 1일땐 1한개 2일땐 1+1,2 두개인 식이다. 여기서 규칙을 찾아낼 수 있는 데바로 앞칸의 coin의 가치만큼 올라간값에 coin을 더해주는 방식으로 가짓수가 늘어난다는 것이다.좀더 보기 쉽게 정리했다..
https://www.acmicpc.net/problem/2294 2294번: 동전 2첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. 가치가 같은 동전이 여러 번 주www.acmicpc.net다이나믹 프로그래밍 문제이다. 해결 방법은 1원부터 k원까지 모든 가격당 필요한 최소 동전개수를 순서대로 구하면 된다. 이때 최소 동전 개수를 구하는 법은 k원에서 동전의 가치를 빼주고 남은 가치의 최소 동전 개수와 1을 더하면 k원의 최소 동전 개수가 된다(예시를 참고하면 더 쉽게 이해할 수 있다.). 모든 동전 종류당 한번씩 위 방식을 사용해주고 이중 최소 개수를 k원..
https://www.acmicpc.net/problem/10867 10867번: 중복 빼고 정렬하기첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다.www.acmicpc.net시간이 넉넉하기 때문에 숫자를 받고 정렬하면된다. 이때 중요한 것은 중복값이 없어야 한다는것이라 set를 사용해 중복을 삭제면된다.입력 : 1 4 2 3 1 4 2 3 1 2출력값 : 1 2 3 4import sysN = int(sys.stdin.readline())number = sys.stdin.readline().split()numberset = set(map(int,number))number=list(numberset)num..
https://www.acmicpc.net/problem/11651 11651번: 좌표 정렬하기 2첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다.www.acmicpc.netx좌표와 y좌표를 정렬하면 되는문제. 파이썬으로 구현할 때 sort만쓰면 한번에 정렬해줘서 간단하다. 좌표 정렬하기와 다르게 2는 y축을 중심으로 정렬해야한다. 따라서 값을 받을때 x축에 y값을 넣고 y축에 x값을 넣으면 된다. 그후 출력할때 x축을 y값으로 y축을 x축으로 출력해주면 된다.입력 : 0 4 1 2 2 2 3 3출력값 : 1 2 2..