본문 바로가기

전체 글

2022년도 한국정보올림피아드 1차 대회 연속 2교시 문제 2교시 해설 2교시 정답 더보기
2022년도 한국정보올림피아드 1차 대회 1교시 문제 1교시 정답 더보기
c++ 표준 라이브러리 array 컨테이너 클래스 템플릿 배열 및 여러 지원 템플릿을 정의 헤더 : #include 연산자 이름 설명 operator== 배열 비교, 같다 operator!= 배열 비교, 같지 않다 연산자= 배열 비교, 크거나 같다 연산자> 배열 비교, 보다 크다 operator 더보기
클래스를 배열로 선언해보기 출력 예 ############################################### 입력(Y/N) : y 입력1 : a1 입력2 : a2 입력3 : a3 입력4 : a4 입력5 : a5 입력 숫자5 : 100 입력(Y/N) : y 입력1 : s1 입력2 : s2 입력3 : s3 입력4 : s4 입력5 : s5 입력 숫자5 : 200 입력(Y/N) : n 제목1 제목2 제목3 제목4 제목5 제목6 a1 a2 a3 a4 a5 100 s1 s2 s3 s4 s5 200 숫자 합계 : 300 ############################################### import java.util.*; class Book{ public String subject1; String subject2.. 더보기
단어 세기 단어 세기 문제 Korean English 임의의 문장을 입력받아 각 단어별로 나눈 후에 단어들의 중복되는 개수를 구하는 프로그램을 작성하시오. (1) 입력된 스트링은 글자의 제한은 없다. 즉, 알파벳 대.소문자, 공백, ', ' 등도 입력으로 들어 올 수 있다. (2) 입력된 문장에서 각 단어사이의 구분은 공백으로 한다. (3) 단어에는 공백을 제외한 모든 문자들이 포함된다.​ 입력형식 임의의 문장을 입력받는다.(문장의 길이는 200 이하) 하나의 결과가 나온 후에도 계속 새로운 입력을 받다가, "END"가 입력되면 프로그램을 종료한다. (문장의 개수는 30을 넘지 않는다.) 출력형식 각 문장 단위로 단어들의 발생 빈도를 오름차순 크기(아스키코드)순으로 출력한다. 입력 예 I AM DOG DOG DOG.. 더보기
단어집합2 단어집합2 문제 스트링(문자열)​을 입력 한 후, 스트링(문자열)​을 구성하는 단어들 중, 현재 단어목록에 포함이 되어있지 않은 단어를 단어목록의 가장 뒤에 추가하는 프로그램을 작성하시오. (1) 처음에는 단어의 목록이 하나도 없다. (2) 단어의 구분은 공백으로 한다. (3) 스트링은 계속 입력받으며, 프로그램이 종료되지 않는 이상 기존의 단어들의 목록은 계속 유지된다. (4) 목록에 단어가 없을 경우 단어를 목록의 가장 뒤에 추가하고, 있을경우 추가하지 않는다. (5) 단어목록에는 입력되는 순서대로 저장된다. (6) 알파벳 대.소문자는 구분된다(다르다). 입력형식 입력되는 스트링(문자열)의 최대 길이는 100이하이며, 스트링(문자열)​은 최대 10개 이하이다. 하나의 결과가 나온 후에도 계속 새로운 .. 더보기
암호풀기(Message Decoding) 암호풀기(Message Decoding) 문제 최근 농부 창호에게서 메시지를 암호화(encryption)에 대해서 배운 소들은 너무나 신이 나있다. 그들은 다른 농장의 소들과 미팅을 할 때 은밀한 메시지를 사용할 경우 이 방법을 사용할 수 있을 것이라고 생각했다. 소들이 사용하는 암호화 방법은 복잡한 DES 혹은 BlowFish 와 같은 좋은 방법이 아니고 단순히 치환 하는 암호화 기법이다. 소들의 경우 복호화(암호를 해독함)하는 시간이 오래 걸리기 때문에, 소들과 대화를 할 수 있는 당신에게 복호화 키와 암호 문자를 입력으로 받아 원문을 구하는 프로그램을 구현 해주기를 요청했다. 복호화 키는 26개의 소문자로 주어지며, a,b,c,d... 를 순서대로 복호화 키 문자로 대치한다는 것을 뜻한다. 예를 들.. 더보기
세로읽기 세로읽기 문제 아직 글을 모르는 영석이가 벽에 걸린 칠판에 자석이 붙어있는 글자들을 붙이는 장난감을 가지고 놀고 있다. 이 장난감에 있는 글자들은 영어 대문자 ‘A’부터‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’부터 ‘9’이다. 영석이는 칠판에 글자들을 수평으로 일렬로 붙여서 단어를 만든다. 다시 그 아래쪽에 글자들을 붙여서 또 다른 단어를 만든다. 이런 식으로 다섯 개의 단어를 만든다. 아래 그림 1은 영석이가 칠판에 붙여 만든 단어들의 예이다. 한 줄의 단어는 글자들을 빈칸 없이 연속으로 나열해서 최대 15개의 글자들로 이루어진다. 또한 만들어진 다섯 개의 단어들의 글자 개수는 서로 다를 수 있다. 심심해진 영석이는 칠판에 만들어진 다섯 개의 단어를 세로로 읽으려 한다. 세로로 읽을 때, 각.. 더보기