[๋ฐฑ์ค€/C++] 1790๋ฒˆ ์ˆ˜ ์ด์–ด ์“ฐ๊ธฐ 2

2022. 7. 11. 16:23ยท๋ฐฑ์ค€/C++

๋ฐฑ์ค€ ๋กœ๊ณ 
๋ฐฑ์ค€

 

1790๋ฒˆ ์ˆ˜์ด์–ด์“ฐ๊ธฐ2


๐Ÿค”๋ฌธ์ œ ์ดํ•ด

1๋ถ€ํ„ฐ N๊นŒ์ง€ ์ˆซ์ž๋ฅผ ์ด์–ด์จ์„œ ๋งŒ๋“  ์ˆ˜์˜ k๋ฒˆ์งธ ์ž๋ฆฌ์˜ ์ˆซ์ž๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ!

๋ฌธ์ œ๊ฐ€ ์งง์€ ๋งŒํผ ๊ฐ„๋‹จํ–ˆ๋‹ค.


๐Ÿ’ก์ฒซ๋ฒˆ์งธ ์•„์ด๋””์–ด

๊ฐ„๋‹จํ•˜๊ฒŒ ์ƒ๊ฐํ–ˆ์„ ๋•Œ N์˜ ์ž๋ฆฟ์ˆ˜๊ฐ€ n์ผ ๋•Œ ์ƒˆ๋กญ๊ฒŒ ๋งŒ๋“ค์–ด์ง€๋Š” ์ˆ˜๋Š” 1*9 + 2*90 + 3*900 + ... (n-1)*((10^n -1)-(10^n-2))์— ๊ฐ€์žฅ ์ž‘์€ n์ž๋ฆฌ ์ˆ˜๋ถ€ํ„ฐ n๊นŒ์ง€๋ฅผ ๋”ํ•˜๋ฉด ๊ตฌํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.

k๋ฅผ ์ฐพ์„ ๋•Œ์—๋Š” k๊ฐ€ ํฌํ•จ๋˜๋Š” ๊ณณ์ด ๋ช‡ ์ž๋ฆฟ์ˆ˜์ผ ๋•Œ์ธ์ง€๋ฅผ ํŒŒ์•…ํ•ด์„œ ์ตœ์•…์˜ ๊ฒฝ์šฐ 10000000~9999999๊นŒ์ง€ ํƒ์ƒ‰ํ•˜๋ฏ€๋กœ ์‹œ๊ฐ„ ์ œํ•œ์— ๊ฑธ๋ฆฌ์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๊ณ  ํŒ๋‹จํ–ˆ๋‹ค.

 

 

๐Ÿ”ฅํ’€์ด๐Ÿ”ฅ

์ฒซ๋ฒˆ์งธ ๋ฐ˜๋ณต๋ฌธ 

-> k๊ฐ€ ํฌํ•จ๋˜๋Š” ์ž๋ฆฟ์ˆ˜ ๊ตฌํ•˜๊ธฐ

๋‘๋ฒˆ์งธ ๋ฐ˜๋ณต๋ฌธ 

-> ํ•ด๋‹น ์ž๋ฆฟ์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’~์ตœ๋Œ“๊ฐ’๊นŒ์ง€ total์— ์ž๋ฆฟ์ˆ˜๋ฅผ ๋”ํ•ด์ฃผ๋ฉด์„œ k๊ฐ€ ํฌํ•จ๋˜๋Š” ๋ฒ”์œ„๋ฅผ ์ฐพ๊ณ  total๊ณผ k๊ฐ€ ๊ฐ™์•„์ง€๋Š” ์‹œ์ ์˜ ์ˆซ์ž๋ฅผ ์ถœ๋ ฅ

 

1์˜ ์ž๋ฆฌ์˜ ๊ฒฝ์šฐ k๊ฐ€ n๋ณด๋‹ค ํฌ๋‹ค๋ฉด -1, ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด k๋ฅผ ์ถœ๋ ฅํ•˜๊ฒŒ ๋”ฐ๋กœ ๋นผ์ฃผ์—ˆ๋‹ค.

 

 

โŒ์ฒซ๋ฒˆ์งธ~์„ธ๋ฒˆ์งธ ์ œ์ถœ(6%์—์„œ ํ‹€๋ ธ์Šต๋‹ˆ๋‹ค.)

ํ’€์ด ๋ฐฉ๋ฒ•๋Œ€๋กœ ๊ตฌํ˜„ํ–ˆ๋Š”๋ฐ ๋‘๋ฒˆ์งธ ๋ฐ˜๋ณต๋ฌธ์—์„œ k์˜ ๋ฒ”์œ„๋ฅผ ํ™•์ธํ•  ๋•Œ์™€ total์— ํ•ด๋‹น ์ž๋ฆฟ์ˆ˜๋งŒํผ ๋”ํ•ด์ฃผ๋Š” ์‹์—์„œ ํ˜„์žฌ ์ž๋ฆฟ์ˆ˜๊ฐ€ ์•„๋‹Œ ์ž…๋ ฅ๋ฐ›์€ n์˜ ์ž๋ฆฟ์ˆ˜๋ฅผ ๋”ํ•ด์ค˜์„œ ํ‹€๋ ธ์—ˆ๋‹ค...ใ…Ž

 

โญ•๏ธ๋„ค๋ฒˆ์งธ ์ œ์ถœ(๋งž์•˜์Šต๋‹ˆ๋‹ค!!)

๋งž์ถ”๊ธด ํ–ˆ๋Š”๋ฐ ์‹œ๊ฐ„์ด 1052ms~1053ms๊ฐ€ ๋–ด๋‹ค...

๋‹ค๋ฅธ ์‚ฌ๋žŒ์€ 0ms์— ๋Œ€๋ถ€๋ถ„ ํ’€์—ˆ๊ธธ๋ž˜ ์กฐ๊ธˆ๋งŒ ๋” ์ƒ๊ฐํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค.


๐Ÿ’ก๋‘๋ฒˆ์งธ ์•„์ด๋””์–ด

๋ญ”๊ฐ€ n์—์„œ k๊ฐ€ ํ•ด๋‹น๋˜๋Š” ์ž๋ฆฟ์ˆ˜-1๊นŒ์ง€์˜ ์ˆซ์ž์˜ ๊ฐœ์ˆ˜๋ฅผ ๋นผ๋ณด๋ฉด ๋ญ”๊ฐ€ ๊ตฌํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์•˜๋‹ค!

n-total๋ฅผ ํ•ด์„œ ์ž๋ฆฟ์ˆ˜๋กœ ๋‚˜๋ˆ„๊ณ , ๋‚˜๋จธ์ง€๋ฅผ ๊ตฌํ–ˆ๋‹ค.

๋ชซ์€ ํ•ด๋‹น ์ž๋ฆฟ์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’(ex. 2์ž๋ฆฌ์ธ ๊ฒฝ์šฐ 10)์— +๋ชซ๋งŒํผ ํ•ด์คฌ์„ ๋•Œ k ๋ฒ”์œ„์— ํ•ด๋‹นํ•˜๋Š” ์ˆซ์ž๊ฐ€ ๋‚˜์™”๋‹ค. 

๋‚˜๋จธ์ง€๋Š” k ๋ฒ”์œ„์— ํ•ด๋‹นํ•˜๋Š” ์ˆซ์ž์˜ ๋ช‡๋ฒˆ์งธ ์ž๋ฆฌ๊ฐ€ k์ธ์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด์ฃผ์—ˆ๋‹ค.

 

โŒ์—ฌ์„ฏ๋ฒˆ์งธ~์ผ๊ณฑ๋ฒˆ์งธ ์ œ์ถœ(6%์—์„œ ํ‹€๋ ธ์Šต๋‹ˆ๋‹ค.)

๊ตฌํ˜„ํ•˜๋Š”๋ฐ์„œ ๋ง‰ํ˜€๋ฒ„๋ ธ๋”ฐ๐Ÿ™„

ํ•ด์•ผํ•  ์ผ์ด ์‚ฐ๋”๋ฏธ๋ผ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ์ฝ”๋“œ๋ฅผ ์ฐธ๊ณ ํ–ˆ๋‹ค. ๋‚˜๋ž‘ ์•„์ด๋””์–ด๋Š” ๊ฐ™์€ ๊ฑฐ ๊ฐ™์€๋ฐ... 

 

 

โญ•๏ธ์—ฌ๋Ÿ๋ฒˆ์งธ ์ œ์ถœ(๋งž์•˜์Šต๋‹ˆ๋‹ค!!)

์•ž์œผ๋กœ ๋ฌธ์ œ ํ‘ธ๋Š” ์—ฐ์Šต์„ ๋” ๋งŽ์ด ํ•ด์•ผ ํ•  ๊ฒƒ ๊ฐ™๋‹ค. ์ด ์‹ค๋ ฅ์œผ๋ก  ๋‹ค์Œ ํ•™๊ธฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋„ ํž˜๋“ค๋“ฏ^^;;

 


 

1790๋ฒˆ ์ˆ˜ ์ด์–ด ์“ฐ๊ธฐ 2

 

์•„๋ž˜๋Š” ์ฒซ๋ฒˆ์งธ ์•„์ด๋””์–ด๋กœ ์ œ์ถœํ•œ ์ฝ”๋“œ์ด๋‹ค. 

//
// Created by ๊น€์œ ๋ฆฌ on 2022/07/11.
//
#include <iostream>
#include <math.h>

using namespace std;

long long n, k;
long long total;

int main() {
    cin.tie(NULL);
    ios::sync_with_stdio(false);
    cin >> n >> k;
    string str = to_string(n);
    long long i;
    for (i = 1; i <= str.size(); i++) {
        if (total < k && total + i * ((long long) pow(10, i) - (long long) pow(10, i - 1)) >= k) {
            break;
        } else {
            total += i * ((long long) pow(10, i) - (long long) pow(10, i - 1));
        }
    }
    if (total == 0) {
        if (k > n) {
            cout << -1;
        } else {
            cout << k;
        }
        return 0;
    }
    for (int j = pow(10, i - 1); j <= n; j++) {
        string num = to_string(j);
        if (total < k && total + num.size() >= k) {
            for (int l = 0; l < num.size(); l++) {
                total++;
                if (total == k) {
                    cout << num[l];
                    return 0;
                }
            }
        } else {
            total = total + num.size();
        }
    }
    cout << -1;
    return 0;


}

 

728x90

'๋ฐฑ์ค€ > C++' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋ฐฑ์ค€/C++] 1753๋ฒˆ ์ตœ๋‹จ๊ฒฝ๋กœ  (0) 2022.07.15
[๋ฐฑ์ค€/C++] 14888๋ฒˆ ์—ฐ์‚ฐ์ž ๋ผ์›Œ๋„ฃ๊ธฐ  (0) 2022.07.13
[๋ฐฑ์ค€/C++] 16936๋ฒˆ ๋‚˜3๊ณฑ2  (0) 2022.07.10
[๋ฐฑ์ค€/C++] 15558๋ฒˆ ์ ํ”„ ๊ฒŒ์ž„  (0) 2022.07.07
[๋ฐฑ์ค€/C++] 25212๋ฒˆ ์กฐ๊ฐ ์ผ€์ดํฌ  (0) 2022.07.03
'๋ฐฑ์ค€/C++' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๋ฐฑ์ค€/C++] 1753๋ฒˆ ์ตœ๋‹จ๊ฒฝ๋กœ
  • [๋ฐฑ์ค€/C++] 14888๋ฒˆ ์—ฐ์‚ฐ์ž ๋ผ์›Œ๋„ฃ๊ธฐ
  • [๋ฐฑ์ค€/C++] 16936๋ฒˆ ๋‚˜3๊ณฑ2
  • [๋ฐฑ์ค€/C++] 15558๋ฒˆ ์ ํ”„ ๊ฒŒ์ž„
yulee_to
yulee_to
  • yulee_to
    yulee
    yulee_to
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ์ „์ฒด ๊ธ€ (107)
      • CS (2)
        • OS (0)
        • DB (0)
        • Network (2)
      • ๊ณต๋ถ€ (21)
        • Spring (9)
        • Java (12)
        • Python (0)
        • ์•Œ๊ณ ๋ฆฌ์ฆ˜ (0)
        • ๊ธฐํƒ€ (0)
      • ๋ฐฑ์ค€ (39)
        • C++ (39)
        • Java (0)
      • ๋„์„œ (39)
        • ์ž๋ฐ”์˜ ์‹  (32)
        • ์Šคํ”„๋ง ์ž…๋ฌธ์„ ์œ„ํ•œ ์ž๋ฐ” ๊ฐ์ฒด ์ง€ํ–ฅ์˜ ์›๋ฆฌ์™€ ์ดํ•ด (7)
      • ๊ธฐํƒ€ (4)
        • Blog (3)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    GodOfJava
    ์œ„์ƒ์ •๋ ฌ
    ๋‹ค์ต์ŠคํŠธ๋ผ
    ์Šคํ”„๋ง ์ž…๋ฌธ
    ๋‹ค์ด๋‚˜๋ฏนํ”„๋กœ๊ทธ๋ž˜๋ฐ
    C++
    ๊ฐ์ฒด์ง€ํ–ฅ
    aws
    ๋ฐฑ์ค€
    ์ž๋ฐ”
    Spring
    ์Šคํ„ฐ๋””
    ๋ฌธ์ œํ’€์ด
    boj
    Java
    ์ž๋ฐ”์˜ ์‹ 
    ์•Œ๊ณ ๋ฆฌ์ฆ˜
    DP
    1์ผ1๋ฐฑ์ค€
    EC2
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
yulee_to
[๋ฐฑ์ค€/C++] 1790๋ฒˆ ์ˆ˜ ์ด์–ด ์“ฐ๊ธฐ 2
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”