ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 백준 11718 그대로 출력하기 [Python / C]
    알고리즘 Algorithms/백준 BaekJoon 알고리즘 2021. 9. 9. 20:42

    그대로 출력하기

     

    문제.

     입력 받은 대로 출력하는 프로그램을 작성하시오.

     

    입력.

     입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시작하지 않고, 공백으로 끝나지 않는다.

     

    출력.

     입력받은 그대로 출력한다.

     


    풀이.

      11718 문제의 경우, 입력받은 그대로 출력해주는 프로그램을 작성하는 것이다.

      공백도 포함하여 그대로 출력하는 문제이다. 아마, "공백 포함"하는 입력과 출력을 확인하는 문제인거 같다.

     

     [Python]

        파이썬 자체가 디폴트로 문자열로 인식하기 때문에 input()를 이용하여 입력을 받고, 

        그대로 출력하면 된다. 아마 파이썬으로는 손쉽게 이 문제를 해결했을 것이다.

    Python

     

    [C]

       scanf()는 ' '(space), '\t'(tab), '\n'(enter)를 모두 구분자로 사용한다. 

       공백을 포함한 입력 자체를 그대로 출력하기 위해서는 getchar()나 fgets()를 많이 사용한다.

     

      1) fgets()는 '\n'(enter)만을 구분자로 사용하기에, 띄어쓰기/공백까지 입력받을 수 있어 적합한 함수이다.

          원형: char* fgets(char* str, int num, FILE stream)

                  str: 읽어들인 문자열을 저장할 char 배열을가리키는 포인터.

                  num: 마지막 NULL문자를 포함하여, 읽어들일 최대 문자 수.

                  stream: 문자열을 읽어들일 스트림의 FILE 객체를 가리키는 포인터.

                  리턴값: 성공적으로 읽어들였다면 str을 반환하고, 오류가 발생하면 NULL값을 반환한다.

    c - fgets()

     

     2) getchar() '\n'(enter)가 올 때까지 사용자로부터 문자를 하나씩 입력받으며, putchar()로 하나씩 출력한다.

    c - getchar()

     

     3) scanf()와 printf()를 이용하여 하나씩 입력하고 하나씩 출력하도록 다음과 같이 만들 수 있다.

    c - scanf()

     

     

     

    댓글

Designed by Tistory.