본문 바로가기
728x90
반응형

Python169

2022.03.05 [백준] (python 파이썬) 팩토리얼 0의 개수 https://www.acmicpc.net/problem/1676 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net 풀이 이 문제를 풀 때, factorial을 구하기 위해 재귀함수를 이용하니 메모리초과가 발생하여 math내장함수를 사용하여 문제를 해결하였다. 내장함수를 이용하여 n!를 구한뒤 a를 10으로 나눈 나머지가 0이면 cnt를 증가시키고 a를 업데이트해주었다. 1 2 3 4 5 6 7 8 9 10 11 12 import math n=int(input()) a=math.factorial(n) cnt=0 while True: if a%10==0: a=a//10 cnt+=1 else: bre.. 2022. 3. 5.
2022.03.05 [백준] (python 파이썬) 2Xn 타일링 https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 풀이 이 문제는 우선 규칙을 찾는 것이 먼저라고 생각들었다. 그래서 아래와 같이 일정 수까지 직접 구해보았다. 1 1 2 2 3 3 4 5 5 8 6 13 7 21 8 34 9 55 위의 표를 보면 2Xn의 크기를 타일링 하는 가지수는 (n-1) + (n-2)인것을 확인할 수 있다. 위에서 찾은 방법을 코드로 옮기면 아래와 같다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 n=int(input()) a.. 2022. 3. 5.
2022.03.05 [백준] (python 파이썬) ATM https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 풀이 문제에서 모든 사람이 돈을 인출할 때, 필요한 가장 최단 시간을 찾으라고 한다. 그러면 입력받은 배열을 오름차순 정렬하면 시간이 짧게 걸리는 순으로 정렬되고, 총 n명일 때, 가장 처음 인출한 사람의 시간이 n번 반복된다. 총 인원 5명, 걸리는 시간[1, 2, 3, 4, 5]로 예를 들면 1번 사람이 인출한 시간 : 1 = 1 2번 사람이 인출한 시간 : 1 2 = 3 3번 사람이 인출한 시간 : 1 2 3 = 6 4번.. 2022. 3. 5.
2022.03.03 [백준] (python 파이썬) 경비원 https://www.acmicpc.net/problem/2564 2564번: 경비원 첫째 줄에 블록의 가로의 길이와 세로의 길이가 차례로 주어진다. 둘째 줄에 상점의 개수가 주어진다. 블록의 가로의 길이와 세로의 길이, 상점의 개수는 모두 100이하의 자연수이다. 이어 한 줄 www.acmicpc.net 풀이 아래의 문제는 조건이 상당히 많은거같다... 우선 입력받은 좌표의 조건을 보면 x가 1일 때, 북쪽 즉, (0,y), x가 2일 때, 남쪽 (m,y) x가 3일 때, 서쪽 (y,0), x가 4일 때, 동쪽 (y,n) 총 4가지 조건에 맞게 좌표를 설정해 배열에 담았다. 이후 동근이의 좌표가 배열의 제일 마지막에 들어갔기때문에 pop을 이용해서 깨내준다. 동근이가 상점으로 갈때 가로지르지 못하고 외.. 2022. 3. 3.
728x90
반응형