일단 제목이 맘에 들어서 선택한 문제입니다.. 영화감독 숌
근데 이 솜녀석.. 사람이 꼬여있네여.. 그냥 제목 1,2,3으로 지으면 될 것이지.. 암튼 이 꼬인녀석을 위해서 코드 짜봅시다..
처음엔 어떤 규칙이 있을까 하고 고민을 해봤네여.. 근데 아무리 이 짱구를 굴려봐도...도당체 나는 못찾겠단 말입니다....
나?
그래서 전 냉큼 알고리즘 분류를 열어보았어요
브투르포스...? 후얼유.... 나만 몰랐다면...죄송하지만... 일단 전 몰라여.. 그래서 냉큼 또 검색에 들어갔습니다.
브루트 포스(brute force), 키 전수조사(exhaustive key search) 또는 무차별 대입(無差別代入)은 조합 가능한 모든 문자열을 하나씩 대입해 보는 방식으로 암호를 해독하는 방법이다.
걍 노가다라는 거군요..!!^^ 앞으로 노가다 코드를 짤 때는 우리 있어보이게 브루트포스 알고뤼뜸~을 사용하자 이렇게 말해봐요!^^ 헤헤
그러면 결론은 이 문제는 하나씩 모든 숫자를 다 살펴본 다음에 그 숫자에 666이 포함되어 있다면 값을 출력해주면 되는 문제입니다!
이제 입력값 받는 방법은 다 아시겠죠..?
//입력받는 부분
const fs=require('fs');
var input=fs.readFileSync('example.txt','utf-8').toString();
제목의 초기값은 666으로 설정해줍니다.
var title=666;
이제 input 값에 따라서 666이 들어간 숫자를 출력해주어야 합니다. 그러면 666이 들어간 숫자가 나오면 input 값을 -1 해주면 되겠죠? 그러고 input값이 0이 될 경우 출력을 해주면 되겠죠?
while(true){
if(title.toString().includes('666')){
input-=1;
if(input==0)
break;
}
title+=1;
}
여기서 보면 includes 함수는 해당 문자열이 있을 경우 true 값을 반환합니다.
따란 전체코드 나갑니다
//입력받는 부분
const fs=require('fs');
var input=fs.readFileSync('/dev/stdin','utf-8').toString();
var title=666;
while(true){
if(title.toString().includes('666')){
input-=1;
if(input==0)
break;
}
title+=1;
}
console.log(title);
n이 2일 경우
n이 500일 경우
오홍홍 결과가 아주 잘나오네요..? 답을 내러가볼까여..?
훗...오늘은 파일입출력 주소값 안 바꾸는 실수는 하지 않았답니다..껄껄
따라디링둥 결과는~~~!!!
.
.
.
맞았군요..헤헤