입력받은 그대로 출력하는 프로그램을 작성하는 문제이다.
하지만 조건이 있다.
입력 최대 100줄,
알파벳 소문자&대문자, 공백, 숫자로만 이루어져 있고,
각 줄 100글자 넘지 않으며,
빈줄은 주어지지 않고,
각 줄은 공백으로 시작하거나 끝나지 않는다.
이 모든 조건을 만족하려면
EOF(End Of File)을 사용해야 한다.
EOF는
이렇게 설명할 수 있다. (출처: 위키백과)
데이터 소스로부터 더 이상 읽을 수 있는 데이터가 없음을 나타내므로
문자를 계속 입력받다가 한계에 다달았을 때,
즉 EOF을 만났을 때 break하도록 하면 된다.
C언어로
이렇게 작성할 수 있다.
getchar로 입력을 계속 받는데 만약 EOF를 만나면 break하고 putchar로 출력하도록 한다.
+ getchar은 기본적으로 int형을 반환하기 때문에 int input; 이라고 작성해도 된다.
파이썬으로는
이렇게 작성하면 IDLE에서 제대로 출력되는데 계속 컴파일 에러가 생긴다...
그리고 파이썬에서도 EOFError을 사용하는 것이 있던데
except EOFError: break라고 작성하면 에러각 뜨고
if EOFError: break라고 쓰면 한 번만 출력된다.
(파이썬으로는 최근 자료가 많이 없다ㅠㅠ)
파
찾아봤을 때는
for i in range(100):
print(input())
이것도 됐던데 지금은 왜 안 되는지 모르겠다.
[백준(Baekjoon)] 10998번 (A*B) (0) | 2019.03.28 |
---|---|
[백준(Baekjoon)] 11719번 (그대로 출력하기2) (0) | 2019.03.28 |
[백준(Baekjoon)] 10172번 (개) (0) | 2019.03.28 |
[백준(Baekjoon)] 7287번 (등록) (0) | 2019.03.28 |
[백준(Baekjoon)] 1001번 (A - B) (0) | 2019.03.28 |