Search
Duplicate
📕

밑 줄

주차
문제번호
1474
언어
C++
티어
실버
유형
그리디
문자열
nj_Blog
nj_상태
이해도
33%
풀이
사람
이해도 2
13 more properties

문제접근

놓쳤던 부분

코드

2024 KB

0 ms

#include <iostream> #include <string> #include <cctype> using namespace std; int main(void) { int n, m; string words[10]; int length = 0; int neededUnderbar; string underbarPerWord = ""; int remainUnderbar; ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin >> n >> m; for (int i = 0; i < n; i++) { cin >> words[i]; length += words[i].size(); } neededUnderbar = m - length; for (int i = 0; i < neededUnderbar / (n - 1); i++) underbarPerWord += "_"; remainUnderbar = neededUnderbar % (n - 1); for (int i = 0; i < n - 1; i++) { words[i] += underbarPerWord; if (remainUnderbar > 0 && islower(words[i + 1][0])) { words[i] += "_"; remainUnderbar--; } } if (remainUnderbar > 0) { for (int i = n - 2; i >= 0; i--) { if (isupper(words[i + 1][0])) { words[i] += "_"; remainUnderbar--; } if (remainUnderbar == 0) break ; } } for (int i = 0; i < n; i++) cout << words[i]; return (0); }
C++
복사