난이도 : D3
문제번호 : 4615
※ 저의 풀이가 무조건적인 정답은 아닙니다.
다른 코드가 좀더 효율적이고 좋을 수 있습니다.
다른사람들의 풀이는 언제나 참고만 하시기 바랍니다.
문제 주소 및 출처입니다.
목차
1. 문제 설명
2. 문제 해석
3. 소스 코드
1. 문제 설명
단어의 중간에 ‘-’(하이픈)을 넣어 늘어지는 소리를 표현해보자. 예를 들어 “wow”같은 문자열에서 두 번째 문자 ‘o’의 뒤편에 두 개의 하이픈을, 세 번째 문자 ‘w’의 뒤편에 한 개의 하이픈을 넣는다고 해보자. 그러면 문자열은 “wo--w-“가 될 것이다. 알파벳 소문자로 이루어진 문자열과 어떤 문자의 뒤편에 하이픈을 넣을 지 여부가 주어질 때 하이픈을 모두 넣고 나면 문자열이 어떻게 되는지 출력하는 프로그램을 작성하라. |
입력
첫 번째 줄에 테스트 케이스의 수 T(T ≤ 1000)가 주어진다. |
출력
각 줄마다 "#T" (T는 테스트 케이스 번호)를 출력한 뒤, 주어진 문자열에 하이픈을 넣어서 출력한다. |
예시
입력 | 출력 |
2 |
#1 wo--w- #2 ---hoi |
2. 문제풀이
너무 쉬운문제라 주석으로 간단하게 처리했다. |
3. 소스코드
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#D3 4676 늘어지는 소리
for t in range(1, int(input()) + 1):
#편집을 쉽게 하기위해 리스트로 변환한다.
string = list(input())
#하이픈의 개수를 입력받는다.
H = int(input())
#큰수부터 넣어 인덱스상에 문제가 없도록 한다.
pos = sorted(list(map(int, input().split())), reverse=True)
#큰쪽 인덱스부터 처리한다.
for idx in pos:
string.insert(idx, '-')
print('#{} {}'.format(t, ''.join(string)))
|
'코딩테스트 > SWExpertAcademy' 카테고리의 다른 글
피자굽기 Python(SW Expert Academy) (0) | 2020.03.29 |
---|---|
회전 Python(SW Expert Academy) (0) | 2020.03.28 |
재미있는 오셀로 게임 Python(SW Expert Academy) (0) | 2020.03.26 |
세상의 모든 펠린드롬 Python(SW Expert Academy) (0) | 2020.03.25 |
최장경로 Python(SW Expert Academy) (0) | 2020.03.23 |
댓글