메뉴 건너뛰기

문제집 / 그룹 문제

문제집 만든이 문제수 조회수 좋아요 생성 수정 공개
블록 코딩 : 01. Input / Output 관리자 6 241 0 2019-02-06
18:59:02
2019-02-17
14:23:07
2019-02-06
22:25:48


입력, 출력, 처리 과정

컴퓨팅 문제를 해결하기 위해서는 기본적으로 3단계의 과정을 거치게 됩니다. 값을 입력받아, 처리를 수행한 후, 결과를 출력하는 것입니다. 이것이 바로 '자동화'의 기본이지요. 이 과정 중에 어느 하나라도 소홀히 하면 그 문제를 해결할 수 없습니다. 특히, 무엇보다 간과하지 말아야 할 것은 입력과 출력 과정의 중요성입니다.

아무리 좋은 처리 과정과 알고리즘을 고안한다 하더라도 값을 입력할 수 없다면, 처리는 의미가 없게 됩니다. 입력과 처리 과정은 문제 없이 진행되었다고 하더라도 출력을 하지 못하면 그 또한 문제를 해결했다고 할 수 없습니다.

자~ 그럼, 입력과 출력을 담당하는 블록을 알아 보겠습니다.

Input 블록

입력을 위해서는 다음의 2가지 블록을 사용합니다. 

두 블록은 모두 1개 라인 전체를 텍스트 형식으로 입력 받습니다.  

input 블록은 현재 라인 전체를 하나의 텍스트 값으로 가져옵니다.

input with delimiter 블록은 현재 라인 전체를 하나의 텍스트 값으로 가져오되, 구분자 단위로 분리한 텍스트 '리스트'를 반환합니다.

위의 2가지 블록을 통해 입력 받은 값은 모두 텍스트 형식이므로, '계산'할 수는 없습니다. 계산을 위해서는 '수치' 형식으로 바꾸어야 하는데, 값의 변환에 대해서는 다음 장에서 알려 드리겠습니다.
 

Output 블록

출력 블록에는 다음의 2가지 블록이 있습니다.

두 블록은 모두 텍스트, 수치, 변수, 리스트를 출력합니다. 텍스트나 수치는 값 그대로, 리스트는 [값, 값, 값, ... ] 형식으로 출력합니다. 단, 출력 시에는 개행 처리가 매우 중요합니다.

print 블록은 "abc"를 출력하고, 자동으로 개행(엔터)이 되는 반면,

print... end = 블록은 개행 대신에 맨 뒤에 주어진 텍스트(예를 들어, 공백이나, 쉼표)를 출력합니다. 

만약, print... end = 블록을 다음과 같이 작성하면, print 블록과 동일하게 됩니다. 



코드 제목 시간(초) 메모리(MB) 나의판정 소스 제출 통과 비율(%) 시도 성공 비율(%)

00a37 정수값 그대로 출력하기 1 1 64 5219 1869
35.8
1529 1427
93.3
00a00 입력값 출력하기 1 1 64 17438 3619
20.8
2352 2109
89.7
00a26 Hello KOI와 정수 출력하기 1 1 64 3547 1507
42.5
1276 1193
93.5
00a56 Hello, World! 출력하기 10 1 64 7514 1663
22.1
1407 1218
86.6
00a58 입력된 값은 OOO 입니다. (정수) 5 1 64 3534 706
20.0
739 609
82.4
00a59 입력된 값은 OOO 입니다. (문자열) 2 1 64 2149 510
23.7
498 415
83.3

예제

위의 문제들 중에서 00a26 를 풀어보겠습니다.

이 문제는 1개의 정숫 값을 입력받고, 첫번째 줄에 "Hello KOI"와 함께 그대로 출력하는 문제입니다. 즉, 입력받은 값에 대해서 어떠한 '계산'을 하지 않으므로, 입력 받은 텍스트 값을 숫자로 변환할 필요는 없습니다.

아직 변수를 배우지 않았으므로, "Hello KOI"를 먼저 출력한 후, 정숫 값을 입력받자마자 출력하는 방식이면 가능할 거 같군요.. 

그러나, print 블록은 값을 출력한 후 항상 맨 마지막에 '개행'을 하기 때문에, 그 다음 블록은 2번째 줄에 출력됩니다. 그러나, 문제에서는 첫번째 줄에 "Hello KOI"와 함께 입력값을 출력해야 합니다. 

다음과 같이 print end = 명령문을 사용해야 '개행'을 방지할 수 있습니다. 현재 " " 안에 공백 1개가 들어가 있는 상태입니다.

참~ 쉽지요? 다른 문제들로 쉽게 해결할 수 있을겁니다.

Coding is fun!


위로