풀이 목록으로 돌아가기

BOJ 4806 - 줄 세기

2024-08-28
BOJ
브론즈 III
cpp
원본 문제 보기
구현

문제

BOJ 4806 - 줄 세기

입력이 끝날 때까지 총 몇 줄이 입력되었는지 세어 출력하라.

입력

여러 줄의 텍스트가 주어진다 (EOF까지).

출력

총 줄 수를 출력한다.

예제

입력출력
hello world2

풀이

getline으로 한 줄씩 읽으며 카운트를 누적한다.

  1. getline이 성공하는 동안 카운트를 증가시킨다
  2. EOF에 도달하면 총 줄 수를 출력한다

핵심 아이디어: getline의 반환값으로 EOF를 감지하여 줄 수를 O(N)에 센다.

코드

#include <bits/stdc++.h>
using namespace std;
 
string s;
int ans;
 
int main()
{
  while (getline(cin, s))
    ans++;
  cout << ans;
}

복잡도

  • 시간: O(N) (N: 줄 수)
  • 공간: O(L) (L: 한 줄의 최대 길이)