[BOJ 1474] 밑 줄

View as PDF

Submit solution

Points: 2
Time limit: 2.0s
Memory limit: 128M

Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text

세준이는 N개의 영어 단어를 이용해 길이가 M인 새로운 단어를 만들려고 한다. 새로운 단어는 N개의 단어를 순서대로 이어 붙이고, 각 단어의 사이에 _을 넣어서 만든다. 이렇게 만든 새로운 단어의 길이가 M이 아닌 경우 _를 추가해서 길이가 M이 되게 만들어야 한다.</p>

  • _는 단어와 단어 사이에만 추가할 수 있다. 따라서, 새로운 단어는 _으로 시작하거나, _로 끝날 수 없다.
  • 단어와 단어 사이에 있는 _의 개수는 모두 같아야 한다.
    • 모두 같게 만드는 것이 불가능한 경우 단어와 단어 사이에 있는 _의 개수의 최댓값과 최솟값의 차이는 1이 되어야 한다.
    </li> </ul>

    새로운 단어 중 사전 순으로 가장 앞서는 단어를 구해보자.

    입력 형식

    첫째 줄에 N과 M이 주어진다. 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다.

    출력 형식

    첫째 줄에 사전 순으로 가장 앞서는 단어를 출력한다.</p>

    알파벳 대문자, 소문자, 밑 줄의 순서는 'A' < 'B' < 'C' < ... < 'Z' < '_' < 'a' < 'b' < 'c' < ... < 'z' 이다.

    예제 입력 1

    9 50
    A
    quick
    brown
    fox
    jumps
    over
    the
    lazy
    dog

    예제 출력 1

    A___quick__brown__fox__jumps__over__the__lazy__dog

    예제 입력 2

    5 32
    Alpha
    Beta
    Gamma
    Delta
    Epsilon

    예제 출력 2

    Alpha_Beta_Gamma__Delta__Epsilon

    예제 입력 3

    4 29
    Hello
    world
    John
    said

    예제 출력 3

    Hello____world___John____said

Comments

There are no comments at the moment.