본문 바로가기

백준188

백준-11726번(2×n 타일링)-PYTHON3 문제2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오.아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. 입력첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000)출력첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다.예제 입력 12예제 출력 12예제 입력 29예제 출력 255 st[1]=1st[2]=2st[3]=3st[4]=5st[5]=8st[6]=13...st[9]=55 세로로 하나 세우고 나머지는 타일이 n-1개일 때의 경우의 수와 같고가로로 두개 세우고 나머지는 타일이 n-2개일 때의 경우의 수와 같으니점화식을 만들어보면st[n]=st[n-1]+st[n-2]가 된다.  나의 코드 def dp(n.. 2024. 7. 13.
백준-1463번(1로 만들기)-PYTHON3 문제정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다.X가 3으로 나누어 떨어지면, 3으로 나눈다.X가 2로 나누어 떨어지면, 2로 나눈다.1을 뺀다.정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최솟값을 출력하시오.입력첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다.출력첫째 줄에 연산을 하는 횟수의 최솟값을 출력한다.예제 입력 12예제 출력 11예제 입력 2 10예제 출력 23힌트10의 경우에 10 → 9 → 3 → 1 로 3번 만에 만들 수 있다.나의 코드def dp(n): st=[0 for i in range(n+1)] st[0:4]=[0,0,1,1] for i in range(4,.. 2024. 7. 13.
백준-9095번(1, 2, 3 더하기)-python,java 문제정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다.1+1+1+11+1+21+2+12+1+12+21+33+1정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오.입력첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다. n은 양수이며 11보다 작다.출력각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다.예제 입력 134710예제 출력 1744274나의 코드st[1]=1st[2]=2st[3]=4st[4]=7st[5]=13st[n]=st[n-3]+st[n-2]+st[n-1]=sum(st[n-3:n])d.. 2024. 7. 13.
백준-25418번(정수 a를 k로 만들기)-pyhton3 문제입력으로 양의 정수 A와 K가 주어지면, 아래 연산을 이용하여 A를 K로 변경하려고 한다. 정수 A를 변경할 때 사용할 수 있는 연산 종류는 다음과 같다.연산 1: 정수 A에 1을 더한다.연산 2: 정수 A에 2를 곱한다.정수 A를 정수 K로 만들기 위해 필요한 최소 연산 횟수를 출력하자.입력첫 번째 줄에 양의 정수 A와 K가 빈칸을 사이에 두고 순서대로 주어진다.출력첫 번째 줄에 양의 정수 A를 양의 정수 K로 만들기 위해 필요한 최소 연산 횟수를 출력한다.제한1 ≤ A  K ≤ 1,000,000예제 입력 15 10예제 출력 115(A), 10(연산 2)가 최소 연산이므로 정답은 1이다.예제 입력 27 77예제 출력 2 77(A), 8(연산 1), 9(연산 1), 18(연산 2), 19(연산 1),.. 2024. 7. 5.
백준-2563(색종이)-python3 문제가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 붙인다. 이러한 방식으로 색종이를 한 장 또는 여러 장 붙인 후 색종이가 붙은 검은 영역의 넓이를 구하는 프로그램을 작성하시오.예를 들어 흰색 도화지 위에 세 장의 검은색 색종이를 그림과 같은 모양으로 붙였다면 검은색 영역의 넓이는 260이 된다.입력첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변과 도화지의 왼쪽 변 사이의 거리이고, 두 번째 자연수는 색종이의 아래쪽 변과.. 2024. 5. 10.
백준-10163(색종이)-python3 문제평면에 색깔이 서로 다른 직사각형 모양의 색종이 N장이 하나씩 차례로 놓여진다. 이때 색종이가 비스듬하게 놓이는 경우는 없다. 즉, 모든 색종이의 변은 서로 평행하거나, 서로 수직이거나 둘 중 하나이다. 그림-1은 1번, 2번, 3번 세 장의 색종이가 순서대로 놓인 상태를 보여준다. 여기에 그림-2에서 보인 것처럼 4번 색종이가 하나 더 놓이면 3번 색종이는 완전히 가려서 보이지 않게 된다. 그리고, 1번 색종이와 2번 색종이는 부분적으로 가려 보이며, 4번 색종이는 완전히 보이게 된다. N장의 색종이가 주어진 위치에 차례로 놓일 경우, 각 색종이가 보이는 부분의 면적을 구하는 프로그램을 작성하시오. 입력입력의 첫 번째 줄에는 색종이의 장수를 나타내는 정수 N (1 ≤ N ≤ 100)이 주어진다. 이.. 2024. 5. 10.