목록실력키우기 (48)
DY N DY
1997 : 떡 먹는 호랑이제한시간: 1000 ms 메모리제한: 32 MB 해결횟수: 895 회 시도횟수: 1650 회 Special Judge 하루에 한 번 산을 넘어가는 떡 장사 할머니는 호랑이에게 떡을 주어야 산을 넘어갈 수 있는데, 욕심 많은 호랑이는 어제 받은 떡의 개수와 그저께 받은 떡의 개수를 더한 만큼의 떡을 받아야만 할머니를 무사히 보내 준다고 한다. 예를 들어 첫째 날에 떡을 1개 주었고, 둘째 날에는 떡을 2개 주었다면 셋째 날에는 1+2=3개, 넷째 날에는 2+3=5개, 다섯째 날에는 3+5=8개, 여섯째 날에는 5+8=13개를 주어야만 무사히 산을 넘어갈 수 있다. 우리는 산을 무사히 넘어온 할머니에게 오늘 호랑이에게 몇 개의 떡을 주었는지, 그리고 오늘이 호랑이를 만나 떡을 준지..
2460 : 나는 학급회장이다.(투표)제한시간: 1000 ms 메모리제한: 32 MB 해결횟수: 1082 회 시도횟수: 4221 회 N명의 학생들이 모인 초등학교 반에서 학급회장 선거를 하려고 한다. 그 중 3명이 회장후보로 나왔고, 이들에 대한 선호도를 N명의 학생들 각각에게 적어내도록 하였다. 세 명의 후보는 후보 1번, 후보 2번, 후보 3번이라 한다. 모든 학생은 3명의 후보 중에서 가장 선호하는 후보에게는 3점, 두 번째로 선호하는 후보에게는 2점, 가장 선호하지 않는 후보에게는 1점을 주어야 한다. 3명의 후보에 대한 한 학생의 선호 점수는 모두 다르며, 1점, 2점, 3점이 정확히 한 번씩 나타나야 한다. 후보의 최종 점수는 학생들로부터 받은 자신의 선호도 점수를 모두 더한 값이 된다. 그러..
1516 : 단어 세기제한시간: 1000 ms 메모리제한: 32 MB 해결횟수: 857 회 시도횟수: 2302 회 임의의 문장을 입력받아 각 단어별로 나눈 후에 단어들의 중복되는 개수를 구하는 프로그램을 작성하시오. (1) 입력된 스트링은 글자의 제한은 없다. 즉 공백이나 ', ' 등도 입력으로 들어 올 수 있다. (2) 입력된 문장에서 각 단어사이의 구분은 공백으로 한다. (3) 단어에는 공백을 제외한 단어들만이 포함된다. 임의의 문장을 입력받는다.(문장의 길이는 200 이하) 하나의 결과가 나온 후에도 계속 새로운 입력을 받다가, "END"가 입력되면 프로그램을 종료하다. 각 단어들의 발생 빈도를 사전순으로 출력한다. [Copy] I AM DOG DOG DOG DOG A AM I I AM OLYMPI..
1535 : 단어집합(하)제한시간: 1000 ms 메모리제한: 32 MB 해결횟수: 363 회 시도횟수: 908 회 스트링을 입력 한 후, 스트링을 구성하는 단어들 중, 현재 단어목록에 포함이 되어있지 않은 단어를 단어목록의 가장 뒤에 추가하는 프로그램을 작성하시오. (1) 처음에는 단어의 목록이 하나도 없다. (2) 단어의 구분은 공백으로 한다. (3) 스트링은 계속 입력받으며, 프로그램이 종료되지 않는 이상 기존의 단어들의 목록은 계속 유지된다. (4) 목록에 단어가 없을 경우 단어를 목록의 가장 뒤에 추가하고, 있을경우 추가하지 않는다. (5) 단어목록에는 입력되는 순서대로 저장된다. (6) 알파벳 대.소문자는 구분된다(다르다). 입력되는 스트링의 최대 길이는 50이하이며, 스트링은 최대 10개 이..
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] 이 상태에서 다시 한 번 섞기를 실행하면 ..