
4와 7로 이루어진 수를 보면
시도 1
- 4를 0, 7을 1로 두면 이진수 계산과 동일하므로 먼저 구하려는 수의 자릿수를digit()함수로 구한다
- 구한 자릿수에서 시작, 남은 만큼을 더한다
이 방법은 틀렸습니다 해결을 못했다...
다른 방법도 시도했으나 막혀서 결국 블로그 참고 >> 참고 링크
n번째 수를 찾으려면
1. n+1을 이진수로 바꾸고
2. 맨 앞자리를 자른 다음
3. 0을 4로, 1을 7로 바꾼다
javascript
// boj 2877 4와 7
// implementation
const input = require("fs").readFileSync("/dev/stdin").toString().split("\n");
const k = input[0].split(" ").map(Number);
let result = (parseInt(k) + 1).toString(2);
result = result.replace(/0/g, "4").replace(/1/g, "7");
result = result.slice(1); //맨 앞자리
console.log(result);