Skip to content

10-mini-zun - #42

Open
mini-zun wants to merge 1 commit into
mainfrom
10-mini-zun
Open

10-mini-zun#42
mini-zun wants to merge 1 commit into
mainfrom
10-mini-zun

Conversation

@mini-zun

@mini-zun mini-zun commented Aug 24, 2026

Copy link
Copy Markdown
Collaborator

๋ฌธ์ œ ๋งํฌ

์œ ์‚ฌ ์นธํ† ์–ด ๋น„ํŠธ์—ด

์†Œ์š” ์‹œ๊ฐ„

20๋ถ„

์ ‘๊ทผ ๊ณผ์ •

์ฒ˜์Œ์—๋Š” ๋ฌธ์ž์—ด ๋น„๊ต๋กœ ํ’€ ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ๋ผ๋Š” ์ƒ๊ฐ์„ ํ–ˆ์ง€๋งŒ ๋‹ต์ด ์—†์–ด๋ณด์˜€์Šต๋‹ˆ๋‹ค.
๊ทธ๋ž˜์„œ ๋น„ํŠธ์—ด์˜ ๊ทœ์น™์„ฑ์„ ์ฐพ์•„๋ดค์Šต๋‹ˆ๋‹ค.

  1. n๋ฒˆ์งธ ๋น„ํŠธ์—ด์˜ ๊ธธ์ด = 5^n
  2. n๋ฒˆ์งธ ๋น„ํŠธ์—ด์˜ 1์˜ ๊ฐœ์ˆ˜ = 4^n
  3. 1์€ 11011๋กœ ๋ณ€ํ™˜๋˜๊ณ  0์€ 00000์œผ๋กœ ๋ณ€ํ™˜๋จ
  4. 0-index ๊ธฐ์ค€ 5*k+2 ์œ„์น˜์—๋Š” 0์ด ๋“ฑ์žฅํ•จ
  5. ์ธ๋ฑ์Šค๋ฅผ 5์ง„์ˆ˜๋กœ ํ‘œํ˜„ํ–ˆ์„ ๋•Œ ์–ด๋А ์ž๋ฆฌ์—๋“  2๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด 0
  6. 2๊ฐ€ ํ•œ ๋ฒˆ๋„ ๋“ฑ์žฅํ•˜์ง€ ์•Š์œผ๋ฉด 1

์ด ๊ทœ์น™๋“ค์„ ์ฐพ๋Š” ๊ฒƒ์— ์‹œ๊ฐ„์ด ์ œ์ผ ๋งŽ์ด ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค.

0 -> 00
1 -> 01
2 -> 02
-
-
5 -> 10
-
-
10 -> 20
11 -> 21
12 -> 22

n=2 ์ผ๋•Œ ๋น„ํŠธ์—ด์€ 11011 11011 00000 11011 11011 ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
์—ฌ๊ธฐ์„œ ์‹œ์ž‘์ง€์ ์„ 0 ์œผ๋กœ ๋ณธ๋‹ค๋ฉด, 2,7,11,12,13,14๋ฒˆ์งธ ์ˆ˜๊ฐ€ 0์ธ๊ฑธ ์•Œ ์ˆ˜ ์žˆ๊ณ , ๊ทธ ์ˆ˜๋“ค์„ 5์ง„์ˆ˜๋กœ ๋ฐ”๊พผ๋‹ค๋ฉด 2๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ’€์ด ์„ค๋ช…

( 1 )

bool isZere(long long x){
    while(x > 0) {
        if(x%5 == 2){
            return true;
        }
        x/=5;
    }
    return false;
}

๋น„ํŠธ์—ด์ด 0์ธ์ง€ ํŒ๋‹จํ•˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ž๋ฆฌ์ˆ˜, ์ฆ‰ ์ธ๋ฑ์Šค๋ฅผ ๋‚˜๋ˆ„์—ˆ์„๋•Œ ์–ด๋””๋“ ์ง€ 2๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด ํ•ด๋‹น์œ„์น˜ ๊ฐ’์€ 0์ด๊ณ  ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด ๋‹ค์Œ ์ž๋ฆฌ๋กœ ๋„˜์–ด๊ฐ€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค

( 2 )

for(long long i = l; i <= r; i++){
        long long x = i - 1;
        
        if(!isZere(x)) {
            answer++;
        }
    }

๊ตฌ๊ฐ„ l๋ถ€ํ„ฐ r๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๋ฉด์„œ isZero ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
x= i - 1์ธ ์ด์œ ๋Š” ์‹œ์ž‘์œ„์น˜๋ฅผ 0์œผ๋กœ ์žก์•˜๊ธฐ์— 1์„ ๋นผ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

์ƒˆ๋กญ๊ฒŒ ์•Œ๊ฒŒ ๋œ ๊ฒƒ

https://moneygear.tistory.com/4#google_vignette
์ง„๋ฒ• ๋ณ€ํ™˜ ์•„์ด๋””์–ด๊ฐ€ ๋– ์˜ค๋ฅด์ง€ ์•Š์•˜์—ˆ๋Š”๋ฐ ์ด ๊ธ€์„ ๋ณด๊ณ  ํžŒํŠธ๋ฅผ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค.

์ „์ฒด ์ฝ”๋“œ

์ „์ฒด์ฝ”๋“œ
#include <string>
#include <vector>

using namespace std;
bool isZere(long long x){
    while(x > 0) {
        if(x%5 == 2){
            return true;
        }
        x/=5;
    }
    return false;
}
int solution(int n, long long l, long long r) {
    int answer = 0;
    for(long long i = l; i <= r; i++){
        long long x = i - 1;
        
        if(!isZere(x)) {
            answer++;
        }
    }
    return answer;
}

@Kaifeel

Kaifeel commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

์ฝ”๋“œ๋Š” ๊ทธ๋ ‡๊ฒŒ ๋ณต์žกํ•˜์ง€๋Š” ์•Š์€๋ฐ ๋ฌธ์ œ๊ฐ€ ๋ณต์žกํ•ด ๋ณด์ด๋„ค์š”
n=2์ผ๋•Œ ์™œ 11011 11011 00000 11011 11011์ด ๋˜๋Š”์ง€ ์•Œ๋ ค์ฃผ์„ธ์š”!

@mini-zun

Copy link
Copy Markdown
Collaborator Author

@Kaifeel n์˜ ๊ฐ’์— ๋”ฐ๋ฅธ ๋น„ํŠธ์—ด ์„ค๋ช…๋“œ๋ฆด๊ป˜์š”!
0๋ฒˆ์งธ ์œ ์‚ฌ ์นธํ† ์–ด ๋น„ํŠธ์—ด์€ 1๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค
n(1 โ‰ค n) ๋ฒˆ์งธ ์œ ์‚ฌ ์นธํ† ์–ด ๋น„ํŠธ์—ด์€ n - 1 ๋ฒˆ์งธ ์œ ์‚ฌ ์นธํ† ์–ด ๋น„ํŠธ์—ด์—์„œ์˜ 1์„ 11011๋กœ ์น˜ํ™˜ํ•˜๊ณ  0์„ 00000๋กœ ์น˜ํ™˜ํ•˜์—ฌ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
์ฆ‰, n = 1์€ 1์„ 11011๋กœ ์น˜ํ™˜ํ•˜์—ฌ 11011์˜ ๊ฐ’์„ ๊ฐ€์ง€๊ฒŒ ๋˜๋ฉฐ,
n = 2์ผ๋•Œ๋Š” 1๋“ค์€ 11011๋กœ ์น˜ํ™˜, 0์€ 00000๋กœ ์น˜ํ™˜ํ•˜์—ฌ ๊ฒฐ๊ณผ์ ์œผ๋กœ "11011 11011 00000 11011 11011"์ด ๋ฉ๋‹ˆ๋‹ค!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants