본문 바로가기

python3160

백준-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.
swea-4835.[파이썬 S/W 문제해결 기본] 1일차 - 구간합 N개의 정수가 들어있는 배열에서 이웃한 M개의 합을 계산하는 것은 디지털 필터링의 기초연산이다.M개의 합이 가장 큰 경우와 가장 작은 경우의 차이를 출력하는 프로그램을 작성하시오.다음은 N=5, M=3이고 5개의 숫자 1 2 3 4 5가 배열 v에 들어있는 경우이다. v12345 v12345이웃한 M개의 합이 가장 작은 경우 1 + 2 + 3 = 6 v12345이웃한 M개의 합이 가장 큰 경우 3 + 4 + 5 = 12 답은 12와 6의 차인 6을 출력한다. [입력] 첫 줄에 테스트 케이스 개수 T가 주어진다.  ( 1 ≤ T ≤ 50 )다음 줄부터 테스트케이스의 첫 줄에 정수의 개수 N과 구간의 개수 M 주어진다. ( 10 ≤ N ≤ 100,  2 ≤ M < N )다음 줄에 N개의 정수 ai가 주어진다.. 2024. 5. 14.
swea-4831. [파이썬 S/W 문제해결 기본] 1일차 - 전기버스-python3 A도시는 전기버스를 운행하려고 한다. 전기버스는 한번 충전으로 이동할 수 있는 정류장 수가 정해져 있어서, 중간에 충전기가 설치된 정류장을 만들기로 했다.버스는 0번에서 출발해 종점인 N번 정류장까지 이동하고, 한번 충전으로 최대한 이동할 수 있는 정류장 수 K가 정해져 있다.충전기가 설치된 M개의 정류장 번호가 주어질 때, 최소한 몇 번의 충전을 해야 종점에 도착할 수 있는지 출력하는 프로그램을 만드시오.만약 충전기 설치가 잘못되어 종점에 도착할 수 없는 경우는 0을 출력한다. 출발지에는 항상 충전기가 설치되어 있지만 충전횟수에는 포함하지 않는다. [예시]다음은 K = 3, N = 10, M = 5, 충전기가 설치된 정류장이 1, 3, 5, 7, 9인 경우의 예이다. [입력] 첫 줄에 노선 수 T가 주.. 2024. 5. 14.
백준-2563(색종이)-python3 문제가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 붙인다. 이러한 방식으로 색종이를 한 장 또는 여러 장 붙인 후 색종이가 붙은 검은 영역의 넓이를 구하는 프로그램을 작성하시오.예를 들어 흰색 도화지 위에 세 장의 검은색 색종이를 그림과 같은 모양으로 붙였다면 검은색 영역의 넓이는 260이 된다.입력첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변과 도화지의 왼쪽 변 사이의 거리이고, 두 번째 자연수는 색종이의 아래쪽 변과.. 2024. 5. 10.