Computer/Algorithm 88

Daily Algorithm - 기억력 테스트 9

문제진짜 오랜만에 주현이 엄마는 기억력 테스트를 하기로 했다.주현이가 많이 컸기 때문에 이제 숫자만 가지고 테스트하기엔 부족하다.이번에도 N개의 숫자를 불러주고, M개의 질문을 한다.처음에 [단어]와 [숫자]를 불러주고, 질문으로 [단어]를 물어보면 해당 단어의 [숫자]를 말하는 것이다.그런데 불러 줄 때 같은 [단어]가 나오는 경우 [이전 단어]의 [숫자]에 [현재 숫자]를 더해야 한다.예를 들어 "ddobot 3" , "poketmon 5", "ddobot 7"을 불러 주고, 질문으로 "ddobot"을 물었을 경우 3+7인 10을 답해야 한다.이번에는 포켓몬 썬&문 카드 풀 팩이 걸려 있다. 주현이가 잘 할 수 있도록 도와주자.입력첫째 줄에 N과 M이 입력된다.(1

Computer/Algorithm 2018.04.17

Daily Algorithm - 단면의 최대 넓이

문제그림과 같이 길이가 n인 철판을 구부려서 단면이 직사각형인 ㄷ자 모양을 만들려고 한다.이 ㄷ자 모양을 수직으로 자른 단면의 넓이 s를 최대로 하려면 양 끝에서 얼마만큼 구부려야 하는지 계산하시오.입력길이 n이 입력된다.출력단면의 넓이 S를 최대로 하려면 얼마만큼 구부려야 하는지 출력하시오.단, 구부리는 길이는 정수 범위에서 생각하고, 최대 넓이가 같은 경우 구부리는 길이가 최소인 것을 출력한다.예제 입력16예제 출력4풀이#include int main(){ int n; scanf("%d", &n); if (((double) n / 4) - (n / 4) > 0.5) { printf("%d", (n / 4) + 1); } else { printf("%d", n / 4); }} 문제 출처 : http:/..

Computer/Algorithm 2018.04.16

Daily Algorithm - 딱지놀이

문제두 어린이 AA, BB가 딱지놀이를 한다. 딱 지놀이 규칙은 다음과 같다.두 어린이 는 처음에 여러 장의 딱지를 가지고 있 고, 매 라운드마다 각자 자신이 가진 딱 지 중 하나를 낸다.딱지에는 별(★), 동 그라미(●), 네모(■), 세모(▲), 네 가지 모양 중 하나 이상의 모양이 표시되어 있다.두 어린이가 낸 딱지 중 어느 쪽 이 더 강력한 것인지는 다음 규칙을 따 른다.- 만약 두 딱지의 별의 개수가 다르다 면, 별이 많은 쪽의 딱지가 이긴다.- 별의 개수가 같고 동그라미의 개수 가 다르다면, 동그라미가 많은 쪽의 딱지가 이긴다.- 별, 동그라미의 개수가 각각 같고 네 모의 개수가 다르다면, 네모가 많은 쪽의 딱지가 이긴다.- 별, 동그라미, 네모의 개수가 각각 같고 세모의 개수가 다르다면, 세..

Computer/Algorithm 2018.04.12

Daily Algorithm - 그릇

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

Computer/Algorithm 2018.04.11

Daily Algorithm - 큰 수 비교

문제우리는 숫자를 int나 long long으로 숫자를 처리하였다.이번엔 그보다 더 큰 숫자를 비교해보자.최대 100자리의 두 숫자가 입력되면 작은수와 큰 수를 차례대로 출력하시오.입력정수 두개가 입력된다.(최대 100자리) - 같은 숫자는 입력되지 않는다.출력작은수 큰수 순서로 출력한다.예제 입력9999999999999999999999999 9999999999999999999999998예제 출력9999999999999999999999998 9999999999999999999999999풀이#include #include int main(){ char num1[100]; char num2[100]; scanf("%s %s", num1, num2); if (strlen(num1) > strlen(num2))..

Computer/Algorithm 2018.04.10

Daily Algorithm - 비밀 전화번호

문제코드업 초등학교에 재학중인 명철이는 친구들과 함께 비밀방범대를 만들었다.그래서 서로 연락처를 공유하던 중, 명철이는 연락처가 새어나가지 않도록 암호로 바꿔서 공유하기로 했다.여기서 암호를 해독하는 방법은 다음과 같다.예)0123456789lohcgpdabk입력첫 번째 줄에 코드표의 문자 10개가 주어진다. (순서대로 0~9이다. 알파벳 소문자만 입력됨. 중복x)두번째 줄에 암호화된 전화번호 3블럭이 띄워쓰기로 구분되어 입력된다.출력암호를 풀은 전화번호를 출력한다. 주의) 반드시 블럭간에 띄워쓰기를 하여 출력한다.(표현오류)예제 입력lohcgpdabk lol abk abk예제 출력010 789 789풀이 #include #include int main(){ char str[10]; char inputS..

Computer/Algorithm 2018.04.09

Daily Algorithm - C언어를 찾아라

문제길이가 100 이하인 문자열로 구성된 암호문을 발견하였다.이 암호문은 예전에 작성된 것으로 판단된다.이 문자열에서 “C”라는 문자와 “CC”라는 문자가 몇 개 있는지 조사하고자 한다.길이가 100 이하인 문자열을 입력받아, "C"라는 문자와 "CC"라는 문자가 각각 몇 개 존재하는지 알아내는 프로그램을 작성하시오. (단, C, CC는 대소문자를 구분하지 않는다. 즉, "cC"는 "CC"와 같다.)입력① 첫 번째 줄에 길이가 100 이하인 문자열이 입력된다. 문자는 모두 대문자 또는 소문자로 이루어진다.② 대소문자의 구분이 없으므로 “C”는 2가지 경우, “CC”는 모두 서로 다른 4가지경우가 각각 존재할 수 있다.출력① 첫 번째 줄에는 문자열에서 찾은 “C”의 개수를 출력한다.② 두 번째 줄에는 문자..

Computer/Algorithm 2018.04.08

Daily Algorithm - 확장자 확인하기

문제정보검색실에서 노트북으로 문서를 작성하던 광곽이는 갑자기 어떠한 파일의 확장자를 보고 이 확장자가 어떤 파일인지 잊어버렸다.광곽이가 파일.확장자를 입력하면 이게 어떤 프로그램인지 알 수 있도록 도와주자.광곽이는 대소문자에 예민하다!확장자 종류 .dib : Paint.Picture .doc : Word.Document.8 .docx : Word.Document.12 .htm : htmfile .html : htmlfile .hwp : Hwp.Document.96 .hwpx : Hwp.Document.hwpx.96 .hwt : Hwp.Document.hwt.96 .jpe, .jpeg, .jpg : jpegfile .ppt : PowerPoint.Show.8 .pptx : PowerPoint.Show.12..

Computer/Algorithm 2018.04.07

Daily Algorithm - 철광석 제련

문제여러분은 철광석을 제련하는 공장의 사장이다.이 공장에서는 5*5광석을 채집하여 공장에서는 3*3크기로 자를 수 있는 공구를 이용하여 3*3크기만큼만 채취하여 판매를 한다.사장은 5*5 철광석에서 가능한 이득이 많이 되는 3*3부분을 채취하여 팔고자 한다.5*5광석의 각 위치의 가치가 주어질 때, 가장 가치가 높은 3*3부분의 가치를 구하는 프로그램을 작성하시오.입력1) 5행 5열의 정수가 입력된다.2) 입력되는 수는 모두 25개이며, 공백으로 구분된다.3) 각 수 값은 모두 100이하의 자연수이다.출력최대 가치를 가지는 3*3영역 각 부분의 가치의 합을 출력한다.예제 입력1 1 1 1 1 1 1 2 2 2 1 1 2 2 2 1 1 2 2 2 1 1 1 1 1 예제 출력18풀이 #include int ..

Computer/Algorithm 2018.04.05

Daily Algorithm - 암호화

문제 영어단어를 암호화하여 나타내고자 한다. 암호화하는 방법은 다음과 같다. 단, 대문자는 소문자로 취급한다. 주어진 단어를 암호화하여 나타내는 프로그램을 작성하시오.입력 첫번째 줄에 영어 단어 한 개가 입력된다. 입력된 단어의 길이는 20자 이내로 한다.출력 각 줄마다 한 문자에 해당하는 암호를 출력한다. 예제 입력test예제 출력0001011 0001100 0011010 0001011풀이 #include #include int main(){ char word[20]; char reverseWord[20]; scanf("%s", word); for (int i = 0; i

Computer/Algorithm 2018.04.03