본문 바로가기
PS(Problem Solving)/백준_BOJ

[백준] 1474번 - 밑 줄 (C++) 문제 및 풀이

by 초코칩프라푸치노 2022. 1. 25.

문제) 백준 - 그리디 알고리즘 - 밑 줄

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

 

1474번: 밑 줄

세준이는 N개의 영어 단어를 이용해 길이가 M인 새로운 단어를 만들려고 한다. 새로운 단어는 N개의 단어를 순서대로 이어 붙이고, 각 단어의 사이에 _을 넣어서 만든다. 이렇게 만든 새로운 단어

www.acmicpc.net

 

사전 순으로 가장 빠른 것을 출력하기 위해 알파벳과 밑 줄의 우선순위를 이해해야 합니다. 밑 줄의 순서가 'A' < 'B' < 'C' < ... < 'Z' < '_' < 'a' < 'b' < 'c' < ... < 'z' 이므로 소문자보다는 밑 줄이 먼저 와야 합니다. 따라서 단어 사이에 균등하게 넣을 밑 줄을 계산하고, 남은 빈칸(redBlank)이 0 이상일 경우 모든 단어를 탐색하면서 소문자일 때 빈칸을 추가합니다. 모든 단어 탐색 후에도 넣어줘야 할 빈칸이 있을 경우, 뒤에서부터 대문자로 시작하는 단어에 빈칸을 추가합니다.

 

C++ 소스코드)

 

Full Code)

https://github.com/Chocochip101/BOJ_Solution/blob/main/Problem%201000~4999/1474_%EB%B0%91%20%EC%A4%84.cpp

 

GitHub - Chocochip101/BOJ_Solution: BOJ Solutions

BOJ Solutions. Contribute to Chocochip101/BOJ_Solution development by creating an account on GitHub.

github.com

 

반응형

댓글