μ½λ
import java.util.Arrays;
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int t = scan.nextInt();
for(int tc=1; tc<=t; tc++) {
String str = scan.next();
StringBuilder sb = new StringBuilder(str);
// StringBuilder sb2 = new StringBuilder(str);
int H = scan.nextInt(); // μ½μ
ν νμ΄νμ κ°―μ
int[] arr = new int[H]; // νμ΄νμ λ£μ μμΉ
for(int i=0; i<H; i++) {
arr[i] = scan.nextInt();
}
Arrays.sort(arr);
for(int i=0; i<H; i++) {
sb.insert(arr[i] + i, "-");
// System.out.println(sb.toString());
// str = sb.toString();
// sb = sb2;
}
System.out.println("#" + tc + " " + sb.toString());
}
scan.close();
}
}
νμ΄
λ¬Έμ λ λ¬Έμμ΄κ³Ό μ½μ ν νμ΄ν("-")μ κ°―μκ° μ£Όμ΄μ§κ³ , νμ΄νμ κ°―μλ§νΌ νμ΄νμ λ£μ μμΉκ° μ£Όμ΄μ§λ€.
κ°κ°μ μμΉμ λ§κ² νμ΄νμ μ½μ ν΄μ£Όλ©΄ λλ€.
μ°μ λ¬Έμ νμ΄λ λ€μκ³Ό κ°λ€.
String ν΄λμ€μλ νΉμ μμΉμ λ°μ΄ν°λ₯Ό μ½μ νλ λ©μλκ° μμ΄μ StringBuilder ν΄λμ€λ₯Ό νμ©νλ€.
StringBuilder ν΄λμ€μ insert() λ©μλλ λ€μν 맀κ°λ³μλ‘ μ€λ²λ‘λ©μ΄ λμ΄μλλ°,
λνμ μΌλ‘ λκ°μ 맀κ°λ³μμ€ μ²«λ²μ§Έ 맀κ°λ³μμλ μ½μ ν μμΉ, λλ²μ§Έ μμΉμλ μ½μ ν λ°μ΄ν°λ₯Ό λ»νλ€.
μ¦, StringBuilder.insert(1, "A"); λΌλ λ©μλλ 첫λ²μ§Έ μμΉμ "A"κ°μ μ½μ νλΌλ λ»μ΄λ€.
νμ§λ§ λ¬Έμμ΄μ μ½μ νλ©΄ κ·Έλ§νΌ λ¬Έμμ΄μ κΈΈμ΄λ λμ΄λκΈ°μ, μ μμ μΌλ‘ μλνμ§ μλλ€.
λ§μ½ λ¬Έμ μ 첫λ²μ§Έ μ λ ₯μ²λΌ wow, 2 3 2 λ‘ λ°μ΄ν°λ₯Ό μ½μ νλ©΄ μλμ κ°μ΄ μΆλ ₯μ΄λλ€.
μ½μ λ λλ§λ€ λ¬Έμμ΄μ κΈΈμ΄λ λμ΄λκΈ°μ μ΄λΆλΆλ μκ°μ ν΄μ£Όμ΄μΌνλ€.
μ΄λ»κ²ν μ§ μκ°ν΄λ³΄λ€κ° StringBuilder ν΄λμ€λ₯Ό νλ λ λ§λ€μ΄λκ³ νλμ© μ½μ ν΄μ μ μ₯νλ μμΌλ‘ μκ°μνμλ€.
sb.insert(arr[i] + i, "-");
str = sb.toString();
sb = sb2;
μ μ½λμ²λΌ StringBuilder ν΄λμ€μΈ sbμ νμ΄νμ μ½μ νκ³ , λ¬Έμμ΄μ μ μ₯ν ν μ΄κΈ°μ μ λ ₯λ°μ λ¬Έμμ΄λ‘ sbκ°μ μ€μ νλκ±°μλλ°, μ΄λ¬λ©΄ νμ΄νμ΄ μΆκ°κ° λλκ²μ΄ μλ μΌμμ μΈ κ°μ λ³νλ§ μμλ€.
μκ°λ³΄λ€ ν΄κ²°μ κ°λ¨νλ€! λ¬Έμμ΄μ νμ΄νμ μ½μ ν λλ§λ€, κ·Έ λ¬Έμμ΄μ κΈΈμ΄κ° μ¦κ°νλ―λ‘ λκ°μ΄ μ½μ ν μμΉλ₯Ό λλ €μ£Όλ©΄ λλ κ²μ΄λ€!
μλ₯Όλ€μ΄, wowλΌλ λ¬Έμμ΄μ 2 3 2 μμΉμ νμ΄νμ μ½μ νλ€λ©΄ ..
wo-w , wo-w- , wo--w- μ΄λ¬ν λ°©μμΌλ‘ νμ΄νμ΄ μΆκ°λλ€.
μ½μ ν μμΉλ₯Ό λλ €μ£Όλ건 forλ¬Έμ λ³μμΈ iκ°μ λν΄μ£Όλ©΄ λλ€.
iλ 0λΆν° μμνλ―λ‘ μ²μμλ 0μ, κ·Έ νλ‘λ νμ΄νμ λ£μλλ§λ€ iκ°μ λν΄μ£Όλ©΄ λ¬Έμμ΄μ΄ μ¦κ°νλκ²κ³Ό λμΌνκ² νμ΄νμ λ£μ μμΉλ μ¦κ°νκ²λλ€.
λ§μ§λ§μΌλ‘ 2 3 2 λΌλ νμ΄νμ μ½μ ν μμΉλ₯Ό μ λ ¬μ ν΄μΌνλ€.
λ§μ½, wowμ 2 3 2λΌλ νμ΄νμ μμ κ³Όμ μΌλ‘ μ½μ μ νλ€λ©΄... sb.insert(arr[i] + i, "-");
i=0 ... sb.insert(2, "-"); ---> wo-w
i=1 ... sb.insert(4, "-"); ---> wo-w-
i=2 ... sb.insert(4, "-"); ---> wo-w--
μ λ΅μ wo--w- μ΄μ§λ§, wo-w-- λ‘ μ€λ₯κ° λλ€.
λ°λΌμ μ λ ¬μ ν΄μ£Όκ³ , κ°μ΄ μμ μμλλ‘ νμ΄νμ λ£μ΄μ£Όλ©΄ λλ€ !
'Algorithm' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[SW Expert Academy] - (D3)4466. μ΅λ μ±μ ν λ§λ€κΈ° (0) | 2020.06.13 |
---|---|
[SW Expert Academy] - (D3)3499. νΌννΈμ ν (0) | 2020.06.09 |
[SW Expert Academy] - (D3)5431. λ―Όμμ΄μ κ³Όμ 체ν¬νκΈ° (0) | 2020.06.06 |
[SW Expert Academy] - (D3)5789. νμ£Όμ μμ λ°κΎΈκΈ° (0) | 2020.06.05 |
[SW Expert Academy] - (D3)7087. λ¬Έμ μ λͺ© λΆμ΄κΈ° (0) | 2020.06.04 |
λκΈ