섭스토리

백준 1436번 <영화감독 숌> 본문

백준 풀이 🍪

백준 1436번 <영화감독 숌>

섭웨이 2022. 8. 15. 20:38

백준 1436번 <영화감독 숌>

실버 5

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

 

1436번: 영화감독 숌

666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타

www.acmicpc.net

N을 입력받고 조건을 만족하는 N 번째로 작은 숫자 출력

 

--> count하는 변수 설정, 1씩 더하면서 N과 같아지면 출력

 

 665 부터 더해가면서 '666'이 포함된 숫자를 찾습니다.

let find = prompt();
let input = parseInt(find);
let num = 665;
let count = 0;
let i = 0;
let doom = '666';

while (count <= input) {

    if (count === input) {
        console.log(num + i - 1);
        break;
    } else {
        if (String(num + i).indexOf(doom) !== -1) {
            count++;
            i++;
        } else {
            i++;
        }
    }
}

일단 제가 짠 코드입니다.

음,,, 변수를 마구잡이로 선언했네요.

더럽네요 정말ㅜ

다음 코드를 보고 깨달은 게 몇 개 있어서 적어봅니다!

 

const input = require('fs').readFileSync('/dev/stdin').toString().trim() / 1;
let c = 0;
for (var i = 666; c < input; i++) {
    if ((i + '').includes('666')) {
        c++
    }
}
console.log(i - 1)

입력 받는 줄 끝에 /1 을 추가해주면 문자형이 알아서 숫자형으로 바뀝니다!

연산을 하면 문자열을 자동으로 숫자형으로 변환해주기 때문입니다.

 

그리고 또 한 가지 숫자형에 ""(공백)을 더해주면 알아서 문자열로 바뀐다는 것을 알아냈습니다.

그전에는 Number(), String() 밖에 몰랐는데 좋은 거 알아갑니다!

 

그리고 앞으로 변수를 마구잡이로 설정하는 것을 줄여야겠어요..! 

'백준 풀이 🍪' 카테고리의 다른 글

백준 1920번 <수 찾기>  (0) 2022.08.16
백준 1259번 <팰린드롬수>  (0) 2022.08.16
백준 1181번 <단어 정렬>  (0) 2022.08.15
백준 1037번 <약수>  (0) 2022.08.13
백준 1152번 <단어의 개수>  (0) 2022.08.13