Computer 133

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

VS Code 알고리즘 문제해결을 위한 개발 환경 구축

글의 제목은 되게 길지만, 내용은 그렇게 복잡하지 않다.이 글의 경우 내가 확장자 확인하기 문제를 해결하면서 겪은 문제와 해당 문제를 해결해 나가는 과정이다. 이 게시글의 내용은 크게 2가지인데1. VS Code에서 tasks.json을 통해 알고리즘 문제해결을 위한 개발 환경 구축하기2. VS Code 1.22.1 버전 이후로 생긴 문제 해결하기그럼 우선 VS Code에서 tasks.json을 통해 알고리즘 문제 해결을 위한 개발 환경을 구축하는 것부터 들어가도록 하겠다. 코드업 확장자 확인하기 문제를 해결하다가 한 가지 문제에 직면했다. 내 환경에서는 잘 작동하는 소스 코드인데, 코드업에서는 작동하지 않는다.일명 맞왜틀 (맞는데 왜 틀려요?) 상황이다. 나는 C언어 개발을 할 때 VS Code + g..

Computer 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

Daily Algorithm - 충돌 여부 확인

문제범진이는 닷지 게임을 만들기 위해 열공중이다. 닷지 게임은 아래와 같이 미사일을 피하는 게임이다.여기서 범진이는 아군 비행기와 붉은 점 미사일의 충돌 여부를 프로그래밍 해야 한다.아군 비행기는 사각형, 미사일은 한 점이며 (x, y)의 좌표가 입력되면 충돌여부를 결정하는 프로그램을 작성하시오. 단, 사각형 꼭지점이나 모서리에 점의 좌표가 일치하는 경우도 충돌한 것으로 본다.(※ 사각형의 좌표는 왼쪽 아래 꼭지점(x1, y1)과 오른쪽 위 꼭지점(x2, y2)의 좌표가 차례대로 입력된다.)예) 입력첫 줄에 사각형의 왼쪽 아래 좌표 (x1, y1)가 공백으로 구분되어 입력 되고,둘째 줄에 사각형의 오른쪽 위 좌표 (x2, y2)가 공백으로 구분되어 입력된다.셋째 줄에 점 미사일의 좌표 (x3, y3)가 ..

Computer/Algorithm 2018.04.02

Data Structure - 스택 (Stack)

스택 (Stack)은 대표적인 후입선출 (Last In First Out, LIFO)의 자료구조로, 데이터 저장소에 새로 들어오는 데이터의 위치가 저장소의 끝이고, 내보내는 데이터 또한 저장소의 끝에서 나간다.스택에 데이터를 집어 넣는 건 push, 데이터를 내보내는 건 pop이며 Top 위치에 있는 데이터를 확인하는 걸 peek라고 한다.스택의 구조를 이미지로 표현하면 아래 이미지와 같다. 출처 : 위키백과 스택 문서 (https://ko.wikipedia.org/wiki/%EC%8A%A4%ED%83%9D) 그러면 스택을 실제로 활용하기 위해 C 언어로 구현해보자. #include #define STACK_SIZE 5 int top = -1;int stack[STACK_SIZE]; // 스택 pushv..

Daily Algorithm - 악성 프로그램 삭제하기

문제현준이는 컴퓨터 인터넷이 느린 것을 알고, 제어판에 들어가 보니 여러 악성 프로그램이 설치 되어 있었다.현준이 컴퓨터 인터넷이 빨라지도록 도와주기 위해 제어판에 있는 프로그램을 입력하면 악성 프로그램과, 컴퓨터의 위험도를 출력하는 프로그램을 작성하시오.입력첫째 줄에 프로그램이 입력될 갯수 정수 n이 입력된다.(1= 7) { printf("danger"); } else if (virus >= 4 && virus

Computer/Algorithm 2018.03.31