문제
단어에 '-'(하이픈)을 넣어 늘어지는 단어를 만드려고 한다.
예를 들어 'wow'라는 문자열이 입력되었을 때, 'o' 뒤편에 두 개의 하이픈을, 'w'뒤편에 한 개의 하이픈을 넣어 'wo--w-'을 만든다.
단어와 아이픈의 인덱스가 주어질 때, 늘어진 단어를 구하는 문제
풀이방법
입력된 문자열에 하이픈을 삽입한다. 단, 단어의 앞쪽부터 삽입하면 단어의 인덱스가 삽일할 때 마다 변경되므로 뒤쪽부터 삽입한다.
소스코드
package samsung;
import java.util.*;
public class s_4676 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int test = sc.nextInt();
for(int t = 1; t <= test; t++) {
String s = sc.next();
LinkedList a = new LinkedList();
for(int i = 0; i < s.length(); i++) {
a.add(s.charAt(i));
}
int n = sc.nextInt();
ArrayList <Integer> idx = new ArrayList();
for(int i = 0; i < n; i++) {
int tmp = sc.nextInt();
idx.add(tmp);
}
Collections.sort(idx, Collections.reverseOrder());
for(int i = 0; i < idx.size(); i++) {
a.add(idx.get(i), '-');
}
System.out.print("#" + t + " ");
for(int i = 0; i < a.size(); i++) {
System.out.print((char)a.get(i));
}
System.out.println();
}
}
}
'Problem Solving > SWEA' 카테고리의 다른 글
[SWEA] 5162. 두가지 빵의 딜레마 (0) | 2020.02.21 |
---|---|
[SWEA] 4751. 다솔이의 다이아몬드 장식 (0) | 2020.02.21 |
[SWEA] 4466. 최대 성적표 만들기 (0) | 2020.02.21 |
[SWEA] 4406. 모음이 보이지 않는 사람 (0) | 2020.02.21 |
[SWEA] 4047. 영준이의 카드 카운팅 (0) | 2020.02.21 |
댓글