알고리즘

백준 JS | 17478번 재귀함수가 뭔가요?

2022. 6. 21. 22:15
목차
  1. ✅ Solution 
  2. 👀 다른 사람의 답안
출처: 백준 온라인저지

https://www.acmicpc.net/problem/17478

 

17478번: 재귀함수가 뭔가요?

평소에 질문을 잘 받아주기로 유명한 중앙대학교의 JH 교수님은 학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다. 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대

www.acmicpc.net

✅ Solution 

const input = require('fs').readFileSync('example.txt').toString().trim();

const question = [
  '어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다.',
  '"재귀함수가 뭔가요?"',
  '"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.',
  '마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.',
  '그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어."',
  '"재귀함수는 자기 자신을 호출하는 함수라네"',
  '라고 답변하였지.',
];
const num = parseInt(input);
const hyphen = '____';
let answer = '';

for (let i = 0; i <= num; i++) {
  if (i === 0) {
    answer += question[0] + '\n';
    answer += question[1] + '\n';
    answer += question[2] + '\n';
    answer += question[3] + '\n';
    answer += question[4] + '\n';
  } else if (i === num) {
    answer += hyphen.repeat(i) + question[1] + '\n';
    answer += hyphen.repeat(i) + question[5] + '\n';
    answer += hyphen.repeat(i) + question[6] + '\n';
  } else {
    answer += hyphen.repeat(i) + question[1] + '\n';
    answer += hyphen.repeat(i) + question[2] + '\n';
    answer += hyphen.repeat(i) + question[3] + '\n';
    answer += hyphen.repeat(i) + question[4] + '\n';
  }

  if (i === num) {
    for (let j = i - 1; j >= 0; j--) {
      answer += hyphen.repeat(j) + question[6] + '\n';
    }
  }
}

console.log(answer);

1. 0 ~ input 값, input 값 ~ 0 까지 2번의 loop

2. loop 에 따라 하이픈이 변경되어야 한다.

3. 0 ~ input 값 - 1 까지의 문단, input 값 문단 그리고 input 값 ~ 0 까지의 문단을 분리한다. 

👀 다른 사람의 답안

https://www.acmicpc.net/source/44772371

 

로그인

 

www.acmicpc.net

 

🔥 유사한 로직이지만 훨씬 간단한 알고리즘으로 구현된 예시

 

https://velog.io/@dlsgkrdl23/JavaScript-17478-%EB%B0%B1%EC%A4%80

 

[JavaScript] 17478 | 백준

재귀함수가 뭔가요?

velog.io

 

'알고리즘' 카테고리의 다른 글

프로그래머스 JS | 실패율  (0) 2022.06.27
프로그래머스 JS | 모의고사 (완전탐색)  (0) 2022.06.25
백준 JS | 1929번 소수 구하기  (0) 2022.06.13
백준 JS | 4948번 베르트랑 공준  (0) 2022.06.10
백준 JS | 2775번 부녀회장이 될테야  (0) 2022.05.26
  1. ✅ Solution 
  2. 👀 다른 사람의 답안
'알고리즘' 카테고리의 다른 글
  • 프로그래머스 JS | 실패율
  • 프로그래머스 JS | 모의고사 (완전탐색)
  • 백준 JS | 1929번 소수 구하기
  • 백준 JS | 4948번 베르트랑 공준
3jun
3jun
3jun
3jun
3jun
전체
오늘
어제
  • 분류 전체보기 (94)
    • 프로젝트 (5)
    • Web (9)
    • JavaScript (19)
    • React (12)
    • 알고리즘 (31)
    • Git (3)
    • AWS (3)
    • TypeScript (3)
    • CS (2)
    • Error (6)
    • 회고 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • JavaScript
  • 프로그래머스 코딩테스트 js
  • 백준 온라인저지
  • airbnb style guide
  • outer environment
  • 백준 js
  • 백준 코테
  • react
  • 백준js
  • msw
  • Promise
  • 프로그래머스 js
  • 프로그래머스 코딩테스트
  • 백준 알고리즘
  • 자바스크립트
  • state
  • 유효성 로직
  • this.props.history.push
  • msw 에러
  • 프로그래머스 코테

최근 댓글

최근 글

hELLO · Designed By 정상우.
3jun
백준 JS | 17478번 재귀함수가 뭔가요?
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.