알고리즘 문제풀이/백준

[백준/BOJ] 6581번 HTML (C++)

노력의천재 2021. 9. 25. 22:56

https://www.acmicpc.net/problem/6581

 

6581번: HTML

원래의 HTML 문서가 입력으로 주어진다. 이 텍스트는 단어와 HTML 태그들로 이루어져 있으며, 태그는 한 개 이상의 공백문자나 탭, 개행 문자 등으로 구분된다. 단어는 연속된 알파벳, 숫자, 또는

www.acmicpc.net

 

#include <iostream>
#include <algorithm>
using namespace std;

int main() {
    ios_base::sync_with_stdio(false); 
    cin.tie(0);
    
    string str = "";
    string bar = "--------------------------------------------------------------------------------";
    int line_len = 0;
    
    while(1) {
        cin >> str;
        if(cin.eof() == true) break;
            
        if(str == "<br>") {
            cout << "\n";
            line_len = 0;
        } else if(str == "<hr>") {
            if(line_len != 0) cout << "\n";
            cout << bar << "\n";
            line_len = 0;
        } else {
            if(line_len + str.size() < 80) {
                if(line_len != 0) {
                    cout << " ";
                    line_len++;
                }
                cout << str;
                line_len += str.size();
            } else {
                cout << "\n";
                line_len = 0;
                cout << str;
                line_len += str.size();
            }
        }
    }
}