문제
문제 링크 : https://www.acmicpc.net/problem/17478
수도코드 작성
일단 재귀를 계속 불러오는 거에 초점을 맞춰서 수도코드를 세우지 못했다.. 그냥 재귀가 머릿속에 안들어온다..
작성한 코드
import java.util.Scanner;
public class Main {
static String underBar = "";
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다. ");
call(sc.nextInt());
}
public static void call(int a){
String temp = underBar;
if(a == 0){
System.out.println(temp + "\"재귀함수가 뭔가요?\" ");
System.out.println(temp + "\"재귀함수는 자기 자신을 호출하는 함수라네\"");
System.out.println(temp + "라고 답변하였지. ");
return;
}
System.out.println(temp + "\"재귀함수가 뭔가요?\"");
System.out.println(temp + "\"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어. ");
System.out.println(temp + "마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지. ");
System.out.println(temp + "그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어.\"");
underBar += "____";
call(a-1);
System.out.println(temp + "라고 답변하였지. ");
}
}
보완할 점 / 헷갈린 점
underbar를 어떻게 해야 할 지가 어려운 포인트 였던 것 같다. 근데 막상 어떻게 푸는 지 알고나니까 생각보다 쉬웠다.. ㅠ
재귀를 꼭 이해하고 싶은데 가능할 지 모르겠다.
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 10845번 : 큐 - JAVA [자바] (0) | 2024.01.11 |
---|---|
[백준] 10816번 : 숫자 카드 2 - JAVA [자바] (0) | 2024.01.10 |
[백준] 1920번 : 수 찾기 - JAVA [자바] (2) | 2024.01.09 |
[백준] 10820번 : 문자열 분석 - JAVA [자바] (0) | 2023.01.15 |
[백준] 2441번 : 별 찍기 - 4 - JAVA [자바] (0) | 2023.01.15 |