https://www.acmicpc.net/problem/17478
μ½λ
import java.util.Scanner;
public class Main {
static String underBar = "";
static String sArr[];
public static void recursive(int num) {
String temp = underBar;
/*
* μ¬κ· μ’
λ£ μ‘°κ±΄ - Base Case
* __ ... __"μ¬κ·ν¨μκ° λκ°μ?"
* __ ... __"μ¬κ·ν¨μλ μκΈ° μμ μ νΈμΆνλ ν¨μλΌλ€"
* __ ... __λΌκ³ λ΅λ³νμμ§.
*/
if(num == 0) {
System.out.println(temp + sArr[0]);
System.out.println(temp + sArr[4]);
System.out.println(temp + sArr[5]);
return;
}
for(int i=0; i<4; i++) // μ¬κ·νΈμΆνλ©΄μ λ°λ³΅λλ λ€κ°μ λ¬Έμ₯
System.out.println(temp + sArr[i]);
underBar += "____"; // νΈμΆλ λ λ§λ€ λ°μ€μ΄ 2κ°μ© μ¦κ°.
recursive(num-1);
// μ¬κ·κ° μ’
λ£λκ³ λΌκ³ λ΅λ³νμμ§. <-- λΆλΆ
System.out.println(temp + sArr[5]);
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int N = scan.nextInt();
System.out.println("μ΄λ ν μ»΄ν¨ν°κ³΅νκ³Ό νμμ΄ μ λͺ
ν κ΅μλμ μ°Ύμκ° λ¬Όμλ€.");
sArr = new String[6];
for(int i=0; i<sArr.length; i++)
sArr[i] = "";
sArr[0] = "\"μ¬κ·ν¨μκ° λκ°μ?\"";
sArr[1] = "\"μ λ€μ΄λ³΄κ². μλ μλ ν μ° κΌλκΈ°μ μ΄μΈμ λͺ¨λ μ§μμ ν΅λ¬ν μ μΈμ΄ μμμ΄.";
sArr[2] = "λ§μ μ¬λλ€μ λͺ¨λ κ·Έ μ μΈμκ² μλ§μ μ§λ¬Έμ νκ³ , λͺ¨λ μ§νλ‘κ² λλ΅ν΄ μ£Όμμ§.";
sArr[3] = "κ·Έμ λ΅μ λλΆλΆ μ³μλ€κ³ νλ€. κ·Έλ°λ° μ΄λ λ , κ·Έ μ μΈμκ² ν μ λΉκ° μ°Ύμμμ λ¬Όμμ΄.\"";
sArr[4] = "\"μ¬κ·ν¨μλ μκΈ° μμ μ νΈμΆνλ ν¨μλΌλ€\"";
sArr[5] = "λΌκ³ λ΅λ³νμμ§.";
recursive(N);
scan.close();
}
}
νμ΄
μΆλ ₯μμ λ°λ³΅λλ λΆλΆμ λ€ κ°μ λ¬Έμ₯μ΄λ€.
"μ¬κ·ν¨μκ° λκ°μ?"
"μ λ€μ΄λ³΄κ². μλ μλ ν μ° κΌλκΈ°μ μ΄μΈμ λͺ¨λ μ§μμ ν΅λ¬ν μ μΈμ΄ μμμ΄.
λ§μ μ¬λλ€μ λͺ¨λ κ·Έ μ μΈμκ² μλ§μ μ§λ¬Έμ νκ³ , λͺ¨λ μ§νλ‘κ² λλ΅ν΄ μ£Όμμ§.
κ·Έμ λ΅μ λλΆλΆ μ³μλ€κ³ νλ€. κ·Έλ°λ° μ΄λ λ , κ·Έ μ μΈμκ² ν μ λΉκ° μ°Ύμμμ λ¬Όμμ΄."
μ λ€ λ¬Έμ₯μ΄ λ°λ³΅λλ―λ‘, μ¬κ·νΈμΆμ νλ©΄μ κ³μμ μΌλ‘ μΆλ ₯νλ€.
μ¬κ·κ° νλ²μ© νΈμΆλ λ λ§λ€ μΈλλ°(_) λ 4κ°μ© μ¦κ°νλ―λ‘ ____ 4κ°μ© λν΄μ€λ€.
μ¬κ·νΈμΆμ μ’ λ£μ‘°κ±΄(Base case, κΈ°μ μ¬λ‘)λ μΈ λ¬Έμ₯μ΄λ€.
________"μ¬κ·ν¨μκ° λκ°μ?"
________"μ¬κ·ν¨μλ μκΈ° μμ μ νΈμΆνλ ν¨μλΌλ€"
________λΌκ³ λ΅λ³νμμ§.
λ°λΌμ μ£Όμ΄μ§ nμ΄ 0μ΄λμλ, μ λ¬Έμ₯μ μΆλ ₯ν΄μ£Όκ³ return μ ν΅ν΄ μ¬κ·ν¨μ μ’ λ£.
κ·Έ ν λ§μ§λ§ λ¨μ λ¬Έμ₯
____λΌκ³ λ΅λ³νμμ§.
λΌκ³ λ΅λ³νμμ§.
μ μ¬κ·νΈμΆμ΄ μ’ λ£λ μ΄νμ μΆλ ₯νλ―λ‘, μ¬κ·ν¨μμ λ§μ§λ§μ μΆλ ₯νλ€.
νλ Έμ΅λλ€λ μΈλλ°κ° 2κ°μ© λν΄μ§λ μ€ μκ³ 2κ°μ© λνλ€κ° ν리λ€κ³ λμ΄..
μμ° μ΄λ¬Έμ κ° μ¬κ·ν¨μμ λν΄ μ΄ν΄νκΈ° μ’μ λ¬Έμ λΌκ³ ν΄μ νμ΄λ΄€λλ° μ‘°κΈμ μ¬κ·μ λν΄ κ°κΉμμ§ κ² κ°λ€.
μ΄λ¬Έμ λ μλμ§λ§, μ¬κ·ν¨μμ μ½λλ₯Ό νμ΄λΈ μ¬μ΄νΈκ° μμ΄μ μ°Έκ³ νλ©΄μ νμλ€. μ¬κΈ°<
λ΄μΌμ νλ Έμ΄μν νμ΄λ΄μΌκ² λ° ~
'Algorithm' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€] 11729λ²: νλ Έμ΄ ν μ΄λ μμ(μ¬κ·, λΆν μ 볡) (0) | 2020.03.11 |
---|---|
[Codeforces] 978B: File Name (0) | 2020.03.11 |
[Codeforces] 1207A: There Are Two Types Of Burgers (0) | 2020.03.10 |
[Codeforces] 1095A: Repeating Cipher (0) | 2020.03.09 |
[Codeforces] 1077A: Frog Jumping (0) | 2020.03.08 |
λκΈ