목록PARK/ALGORITHM (132)
DY N DY
1239 : 비밀편지제한시간: 1000 ms 메모리제한: 32 MB 해결횟수: 877 회 시도횟수: 1849 회 병현이는 지은이에게 문자 A, B, C, D, E, F, G, H 로 쓰여진 편지를 날마다 보내는데, 컴퓨터로 보내는 비밀편지로, 한 문자마다 0 또는 1인 숫자 여섯 개를 사용하여 보낸다. 둘 사이의 약속은 다음과 같다. A 000000 B 001111 C 010011 D 011100 E 100110 F 101001 G 110101 H 111010 병현이가 어느 날 001111000000011100 을 보내면 지은이는 이것을 BAD로 이해하게 된다. 그런데 둘 사이에 약속이 잘 만들어져 있기 때문에, 통신에 문제가 생겨서 한 문자를 표시하는 여섯 숫자 중 어느 한 숫자만 틀리게 오는 경우, ..
2259 : 참외밭제한시간: 1000 ms 메모리제한: 32 MB 해결횟수: 604 회 시도횟수: 1889 회 시골에 있는 태양이의 삼촌 댁에는 커다란 참외밭이 있다. 문득 태양이는 이 밭에서 자라는 참외가 도대체 몇 개나 되는지 궁금해졌다. 어떻게 알아낼 수 있는지 골똘히 생각하다가 드디어 좋은 아이디어가 떠올랐다. 유레카! 1㎡의 넓이에 자라는 참외 개수를 헤아린 다음, 참외밭의 넓이를 구하면 비례식을 이용하여 참외의 총개수를 구할 수 있다.1㎡의 넓이에 자라는 참외의 개수는 헤아렸고, 이제 참외밭의 넓이만 구하면 된다. 참외밭은 ㄱ-자 모양이거나 ㄱ-자를 90도, 180도, 270도 회전한 모양(┏, ┗, ┛ 모양)의 육각형이다. 다행히도 밭의 경계(육각형의 변)는 모두 동서 방향이거나 남북 방향이..
2810 : 타일교체제한시간: 1000 ms 메모리제한: 64 MB 해결횟수: 462 회 시도횟수: 1021 회 화장실 바닥을 새로운 타일로 교체하려고 한다. 타일은 모두 정사각형 모양으로 한 변의 길이는 정수로 표시되어 있다.타일의 크기를 여러 가지로 하면 보기가 싫기 때문에 모두 같은 크기의 타일을 사용하려고 한다.타일의 개수가 많아지면 비용이 많이 들기 때문에 타일의 개수는 가능하면 최소한으로 사용하려고 한다. 화장실의 가로의 크기와 세로의 크기가 주어질 때 필요한 최소 타일의 개수를 구하는 프로그램을 작성하라. 화장실 가로의 길이와 세로의 길이가 차례대로 입력된다. 1 w >> h; int gcd = 0; if (w > h) gcd = getGCD(w, h); else gcd = getGCD(h,..
2255 : 섞기 수열제한시간: 1000 ms 메모리제한: 128 MB 해결횟수: 495 회 시도횟수: 3547 회 A1, A2, …, AN으로 표시된 N 개의 카드를 정해진 방법으로 섞고자 한다. 그 섞는 방법은 1에서 N까지의 숫자로 이루어진 수열로 표시된다. 이 수열을 섞기 수열이라 하자. 섞기는 현재 가지고 있는카드에서 섞기 수열의 각 숫자가 나타내는 위치에 있는 카드를 순서대로 뽑아서나열하는 것이다. 예를 들어, N = 6이고 섞기 수열이 [3, 2, 5, 6, 1, 4]라고 하자. 카드의 처음 상태가 [A1, A2, A3, A4, A5, A6]일 때, 섞기를 한 번 실행하면 카드의 순서가 다음과 같이 된다. [A3, A2, A5, A6, A1, A4] 이 상태에서 다시 한 번 섞기를 실행하면 ..
2518 : 문자열변환제한시간: 1ms 메모리제한: 32MB 해결횟수: 771회 시도횟수: 2030회 현석이가 책을 발간하기 위해서 원고를 작성하여 출판사에 보냈다. 며칠 후 출판사에서 택배로 초안을 보내왔다.현석이는 초안을 읽어보다가 오타를 발견하였다. 그런데 오타가 한글자만 있는 것이 아니어서 수정해야하는 문자를 기록하여 다시 출판사로 보내주었다.여기서 문자란 숫자를 포함하며, 대소문자를 구별한다. 즉, 대문자와 소문자는 다른 문자이다.당신이 할 일은 현석이가 보내온 정보를 가지고 제대로 수정된 문장을 출력하는 것이다. 입력의 첫줄에는 수정해야하는 정보의 개수 n(n≤50)이 들어온다. 그 다음 줄부터 n개의 줄에 각각 2개씩의 문자가 들어오는데 이것은 첫 번째 문자를 두 번째 문자로 바꾸라는 것이다..
2811 : 소수와 합성수제한시간: 1ms 메모리제한: 64MB 해결횟수: 358회 시도횟수: 997회 소수(prime number)란 1보다 큰 자연수 중 1과 자기 자신 두 개만을 약수로 갖는 수를 말한다. 합성수(composite number)란 1보다 큰 자연수 중 소수가 아닌 수를 말하며 3개 이상의 약수를 갖는다. 1은 소수도 합성수도 아니다. 5개의 자연수를 입력받아 소수인지 합성수인지를 판단하는 프로그램을 작성하시오. 10억 이하의 자연수 5개가 공백으로 구분되어 주어진다. 입력된 순서대로 한 줄에 한 개씩 소수이면 "prime number", 합성수이면 "composite number", 소수도 합성수도 아니면 "number one"이라고 출력한다. [Copy] 3 10 1 55 127 ..
2813 : 소수의 개수제한시간: 1ms 메모리제한: 128MB 해결횟수: 382회 시도횟수: 1558회 소수(prime number)란 1보다 큰 자연수 중 1과 자기 자신 두 개만을 약수로 갖는 수를 말한다. 자연수 M과 N을 입력받아 M부터 N까지 소수의 개수를 구하여 출력하는 프로그램을 작성하시오. 자연수 M과 N이 공백으로 구분되어 주어진다. (1 ≤ M ≤ N ≤ 2,000,000) M이상 N이하의 자연수 중 소수가 몇 개인지 구하여 출력한다. [Copy] 10 100 [Copy] 21 ?/************************************************************** Problem: 2813 User: a132034 Language: Java Result: S..
1740 : 소수제한시간: 1ms 메모리제한: 64MB 해결횟수: 963회 시도횟수: 2956회 자연수 M과 N이 주어질 때 M이상 N이하의 자연수 중 소수인 것을 모두 골라 이들 소수의 합과 최소값을 찾는 프로그램을 작성하시오. 예를 들어 M=60, N=100이 경우 60이상 100이하의 자연수 중 소수는 61, 67, 71, 73, 79, 83, 89, 97 총 8개가 있으므로, 이들 소수의 합은 620이고, 최소값은 61이 된다. 입력의 첫째 줄에 M이, 둘째 줄에 N이 주어진다. M과 N은 10,000이하의 자연수이며, M은 N보다 같거나 작다. M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최소값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을..