본문 바로가기

ACMICPC 1350 진짜 공간 문제어떤 파일 시스템에는 디스크 공간이 파일의 사이즈와 항상 같지는 않다. 이것은 디스크가 일정한 크기의 클러스터로 나누어져 있고, 한 클러스터는 오직 한 파일만 이용할 수 있기 때문이다. 예를 들어, 클러스터의 크기가 512바이트이고, 600바이트 파일을 저장하려고 한다면, 두 개의 클러스터에 저장하게 된다. 두 클러스터는 다른 파일과 공유할 수 없기 때문에, 디스크 사용 공간은 1024바이트가 된다. 파일의 사이즈와 클러스터의 크기가 주어질 때, 사용한 디스크 공간을 출력하는 프로그램을 작성하시오.입력첫째 줄에 파일의 개수 N이 주어진다. N은 1,000보다 작거나 같은 자연수이다. 둘째 줄에는 파일의 크기가 공백을 사이에 두고 하나씩 주어진다. 파일의 크기는 1,000,000,000보다 작거나 같은.. 더보기
ACMICPC 2312 수 복원하기 문제양의 정수 N이 주어졌을 때, 이 수를 소인수분해 한 결과를 출력하는 프로그램을 작성하시오.입력첫째 줄에 테스트 케이스의 수가 주어진다. 각 테스트 케이스마다 양의 정수 N (2 ≤ N ≤ 100,000)이 주어진다.출력각 테스트 케이스마다 각 인수와 그 인수가 곱해진 횟수를 한 줄씩 출력한다. 출력 순서는 인수가 증가하는 순으로 한다. 괜히 예전에 써먹었던 소인수분해 함수 쓸려고 하다가 피 봤다. 그다지 어려울게 없는 문제인데... 소인수분해할때 2만 따로 계산해주고 3부터 2씩 증가하게 해주면 좀 더 빠른 계산이 될 것 같지만 TLE가 안 뜨니 그냥 냅둬도 될 것 같다. #2312 수 복원하기 def getPrime(val): for x in range(2, val+1): exponent = 0 .. 더보기
ACMICPC 9494 데구르르 문제어떤 글을 살짝 오른쪽으로 살짝 회전시켜 놓고, 첫째 줄의 첫 번째 문자 위에 공을 하나 올려놓는다. 공은 중력에 의해서 아래로 굴러 떨어지게 된다. 공은 글자 사이에 빠지지 않고 움직일 수 있고, 공백을 만난 경우에는 아래로 떨어진다. 첫 번째 열의 번호가 1번일 때, 공이 몇 번째 열에서 바닥으로 떨어지게 되는지 구하는 프로그램을 작성하시오. 아래 예제에서 공은 8번 열에서 바닥으로 떨어진다. 입력입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 줄의 수 n (1 ≤ n ≤ 1000)이 주어진다. 다음 n개 줄에는 각 줄의 글이 주어진다. 글은 인쇄할 수 있는 아스키 문자와 공백으로만 이루어져 있다. 인쇄할 수 없는 문자나 탭은 입력으로 주어지지 않는다. 각 줄의 .. 더보기