목록전체 글 (44)
시간이 NullNull
프로그래밍 대회를 성공적으로 마친 은기는 사회 공헌을 위해 대회 우승자들과 농촌 봉사활동을 떠나기로 했다. 은기와 대회 우승자들은 한적한 시골 마을 어딘가에 N마리의 송아지를 키우고 있는 곳으로 갔다. 그 곳의 각 송아지에는 1번부터 N번까지의 고유번호와 1번부터 3번까지의 품종 번호가 매겨져 있었다. 은기와 대회 우승자들은 송아지들을 보고서 문득 질문이 생겼다. “고유번호 L번부터 R번까지의 송아지들에 대해서 각각의 품종은 몇 마리가 있을까?” 이들이 궁금해하는 모습을 본 당신은, 프로그램을 만들어 도와주기로 결정하였다. 질문 Q개에 대하여 각각 1번, 2번, 3번 품종의 수를 답해주는 프로그램을 작성하라. 이 문제의 경우 단순히 모든 것을 입력받고 1번부터 N번까지의 for문을 돌면서 숫자들을 세어 ..
N명의 사람들이 어떤 프로그래밍 대회에 참가했다. 대회에는 M개의 문제가 나왔다. 동철이는 이 프로그래밍 대회가 열렸다는 소식을 접했고, 간단한 웹 서핑으로 각 사람들이 문제를 풀었는지 아닌지를 나타내는 NⅹM 개의 값 ai,j를 구할 수 있었다. 사람에 1에서 N까지의 번호를 붙이고, 문제에도 1에서 M까지의 번호를 붙일 때, ai,j 는 대회가 끝나고 i번 사람이 j번 문제를 풀었다면 1, 풀지 못했다면 0을 가지는 값이다. 동철이는 이 대회에는 나가지 못했지만, 다른 프로그래밍 대회에 나갈 계획이고 목표는 우승이다. 그러므로 지금 열린 이 대회에서 1등을 한 사람들을 찾아 라이벌로 삼기로 했다. 이 대회에서 모든 문제의 점수는 같고 프로그램을 제출한 시간은 따지지 않는다. 그러므로, 푼 문제 수가 ..
문득 준홍이는 각 카드 세트에서 카드를 한 장씩 골라서 카드에 적힌 숫자를 합한 결과 중, 등장할 확률이 가장 높은 숫자는 어떤 숫자일지 궁금해졌다. 단, 카드 세트에서 어떤 카드를 선택할 확률은 모두 동일하다고 가정한다. 이를 계산하는 프로그램을 작성하라. 카드 두세트가 있고 여기서 숫자들의 합중 가장 빈도수가 많은 합을 출력한다. 단, 밑에 제약 조건으로 오름차순으로 정렬하라고 되어 있다. 이 문제의 경우 매우 간단하게 풀릴 수 있다. N, M 이 주어질 때 더 큰수를 먼저 찾는다. 예를 들어 N = 6, M= 3 일때 나올 수 있는 합은 2 ~ 9 까지의 수가 될 것이다. 이때 2는 1+1 , 9 는 3+9로 누가 봐도 제일 빈도수가 작을 것으로 예상된다. 그렇다면 이제 빈도수를 계산을 어떻게 할 ..