목록YJ (375)
코딩로그

[문제] 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= 예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다. 단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다. dž는 무조건 하나의 알파벳으로 쓰이고, d와 ž가 분리된 것으로 보지 않는다. lj와 nj도 마찬가지이다. 위 목록에 없는 알파벳은 한 글자씩 센다. [입력] 첫째 줄에 최대 100글자의 단어가 주어진다. 알파벳 소문자와 '-', '='로만 이루어져 있다. 단어는 크로아티아 알파벳으로 이..

[문제] 가이우스 율리우스 카이사르(Gaius Julius Caesar)는 고대 로마 군인이자 정치가였다. 카이사르는 비밀스럽게 편지를 쓸 때, 'A'를 'D로', 'B'를 'E'로, 'C'를 'F'로... 이런 식으로 알파벳 문자를 3개씩 건너뛰어 적었다고 한다. 26개의 대문자 알파벳으로 이루어진 단어를 카이사르 암호 형식으로 3문자를 옮겨 겹치지 않게 나열하여 얻은 카이사르 단어가 있다. 이 카이사르 단어를 원래 단어로 돌려놓는 프로그램을 작성하시오. 각 문자별로 변환 전과 변환 후를 나타낸 건 아래와 같다. 변환전 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 변환후 D E F G H I J K L M N O P Q R S T U V W X Y Z A..

[문제] 형준이는 수열을 하나 가지고 있다. 형준이는 수열을 정열적으로 정렬해보려 한다. 과연, 정렬할 수 있을까? [입력] 첫째 줄에는 수열의 길이 N (1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 수열의 각 원소 ai가 공백을 사이에 두고 차례대로 주어진다. ai의 절댓값은 200만 이하이다. [출력] 수열 a를 오름차순으로 정렬해서, 공백을 사이에 두고 하나씩 차곡차곡 출력하자. [Source Code] #include #include #include #include #include using namespace std; int main() { int num; cin >> num; int *arr = new int[num]; for(int i = 0; i < num; i++){ int in..

[문제] 아래 예제 출력과 같은 J박스를 출력하는 프로그램을 작성하시오. [입력] 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 박스의 크기가 주어진다. 박스의 크기는 10보다 작거나 같다. [출력] 각 테스트 케이스에 대해서, 입력으로 주어지는 크기의 J박스를 출력한다. 박스와 박스 사이에는 빈 줄을 하나 출력한다. [Source Code] #include #include #include #include #include using namespace std; int main() { int test; cin >> test; for(int i = 0; i > num; for(int j = 0; j < num; j++..

[문제] 그릇을 바닥에 놓았을 때 그 높이는 10cm 이다. 그런데 두 개의 그릇을 같은 방향으로 포개면 그 높이는 5cm만 증가된다. 만일 그릇이 서로 반대방향으로 쌓이면 높이는 그릇만큼, 즉 10cm 늘어난다. 그릇을 괄호 기호로 나타내어 설명해보자. 편의상 그릇이 쌓여지는 방향은 왼쪽에서 오른쪽이라고 가정한다. 그림에서 ‘(’은 그릇이 바닥에 바로 놓인 상태를 나타내며, ‘)’은 그릇이 거꾸로 놓인 상태를 나타낸다. 만일 그릇이 포개진 모양이 ((((와 같다면 전체의 높이는 25cm가 된다. 왜냐하면 처음 바닥에 있는 그릇의 높이가 10cm이고 이후 같은 방향으로 3개의 그릇이 포개져 있으므로 늘어난 높이는 5+5+5=15 이기 때문이다. ()()와 같은 경우라면 그 높이는 10*4=40cm가 된다..

[문제] 신생국가 CTP공국은 자신들만의 글자가 없다. CTP공국의 왕 준형이는 전 세계 표준 언어인 알파벳을 사용하기로 했다. 하지만 숫자에 미친 사람들이 모인 CTP공국 주민들은 알파벳을 사용할 때 평범한 알파벳이 아니라 쓰려고 하는 알파벳이 앞에서부터 몇 번째 알파벳인지를 의미하는 숫자로 나타낸다. 예를 들어 ‘A’는 ‘1’로, ‘Z’는 ‘26’로 나타낸다. CTP공국은 현재 부흥 중이라 새로 국민이 되고자 하는 사람이 많다. 하지만 아무나 CTP공국의 국민이 될 수는 없는 법. CTP공국의 이민국장 인덕이는 이민 신청자들이 CTP 공국의 글자체계를 잘 알고 있는지 확인하는 시험문제를 내기로 했다. 시험문제는 두 가지 종류로 구분된다. CTP공국의 글자가 주어졌을 때 알파벳을 쓰는 문제와 알파벳이 ..

[문제] Al의 초콜릿 망고 회사는 방문자들이 2d 단지에 얼마나 많은 초콜릿 망고가 있는지 추측할 수 있는 웹 사이트를 갖고 있다. 방문자들은 1부터 99까지의 수를 추측한 후 "제출" 버튼을 누르는데, 안타깝게도 서버로부터 응답시간이 종종 길어져 방문자들이 이성을 잃은 나머지 "제출"을 연타하는 사태가 발생한다. 이게 우리가 해결해야 할 문제다. ACM의 직원을 도와 연타된 중복을 걸러보자. [입력] 각 줄마다 처음으로 정수 N(0 < N ≤ 25)이 주어진다. 그 다음 N개에 걸쳐 1부터 99 사이의 수가 주어진다. 마지막 줄에 입력의 끝을 알리는 0이 주어진다. [출력] 각 케이스마다 한 줄씩 연속하는 중복을 제거한 원래의 제출 상태를 출력한다. 각 줄의 마지막에는 한 칸을 띄고 '$' 표시가 붙..

[문제] 어떤 반에 있는 학생들의 생일이 주어졌을 때, 가장 나이가 적은 사람과 가장 많은 사람을 구하는 프로그램을 작성하시오. [입력] 첫째 줄에 반에 있는 학생의 수 n이 주어진다. (1 ≤ n ≤ 100) 다음 n개 줄에는 각 학생의 이름과 생일이 "이름 dd mm yyyy"와 같은 형식으로 주어진다. 이름은 그 학생의 이름이며, 최대 15글자로 이루어져 있다. dd mm yyyy는 생일 일, 월, 연도이다. (1990 ≤ yyyy ≤ 2010, 1 ≤ mm ≤ 12, 1 ≤ dd ≤ 31) 주어지는 생일은 올바른 날짜이며, 연, 월 일은 0으로 시작하지 않는다. 이름이 같거나, 생일이 같은 사람은 없다. [출력] 첫째 줄에 가장 나이가 적은 사람의 이름, 둘째 줄에 가장 나이가 많은 사람 이름을 ..