문제 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점수를 얻게 된다. 예를 들어 와 같이 시작점에서부터 첫 번째, 두 번째, 네 번째, 여섯 번째 계단을 밟아 도착점에 도달하면 총 점수는 10 + 20 + 25 + 20 = 75점이 된다. 계단 오르는 데는 다음과 같은 규칙이 있다. 계단은 한 번에 한 계단씩 또는 두 계단씩 오를 수 있다. 즉, 한 계단을 밟으면서 이어서 다음 계단이나, 다음 다음 계단으로 오를 수 있다. 연속된 세 개의 계단을 모두 밟아서는 안 된다. 단, 시작점은 계단에 포함되지 않는다. 마지막 도착 계단은 반드시 밟아야 한다. 따라서 첫 번째 계단을 ..
padStart() String.prototype.padStart() 메서드는 현재 문자열 String.prototype의 시작을 다른 문자열로 채워, 주어진 길이를 만족하는 새로운 문자열을 반환한다. 첫 번째 인자는 주어진 길이, 두 번째 인자는 채울 문자열이다. 채워넣기는 대상 문자열의 왼쪽부터 적용된다. const word = 'Tissue'; const newWord = word.padStart(10, 'C'); // 새로운 문자열을 반환하므로 - console.log(word); // "Tissue" - 원본은 유지된다 console.log(newWord); // "CCCCTissue" 두 번째 인자의 문자열의 길이가 2 이상일 때엔, 패턴처럼 반복되다가 첫 번째 인자로 주어진 정수와 일치하는 ..
문제 위의 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 길이를 k라 했을 때, 그 변에 길이가 k인 정삼각형을 추가한다. 파도반 수열 P(N)은 나선에 있는 정삼각형의 변의 길이이다. P(1)부터 P(10)까지 첫 10개 숫자는 1, 1, 1, 2, 2, 3, 4, 5, 7, 9이다. N이 주어졌을 때, P(N)을 구하는 프로그램을 작성하시오. 풀이 과정 다이나믹 프로그래밍 입문 문제인 백준의 피보나치 함수 문제와 유사하다. 규칙을 찾아 점화식을 작성하면 끝 ... 인데, 어딘가 요상한 규칙으로 풀었다 -.- 제출 코드 const readline = require("re..