-
Notifications
You must be signed in to change notification settings - Fork 2
23-Seol-Munhyeok #84
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
23-Seol-Munhyeok #84
Conversation
|
λκ° λ κ² κ°μλ° μ λΌμ μμ½λ€μ. 1μκ°μ λ κ³ λ―Όν΄λ΄€λλ° κ²°κ΅ λ‘μ§ μ 리 μ체λΆν° μ€ν¨νκ³ νμ΄λ₯Ό μ°Ύμλ΄€μ΅λλ€. νμ΄λ₯Ό 보λ μ€ν¨νλ κ² λ©λμ΄ λκΈ°λ νλ€μ... λ¬Ένλμ΄ κ°μ Έμμ£Όμ νμ΄λ κΈ°μ€μ μ μ§μ λλ €μ xx..0 ~ xx..9λ‘ λ§μΆ λ€μ μΉ΄μ΄ν μ νλ λ°©μμ΄λΌλ©΄, μ΄λΆ νμ΄λ μμ 0λΆν° μμνκ³ 9μμ λλλλ‘ λ°λ³΅λ¬Έμ ꡬμ±νλ, νμ¬ μλ¦Ώμμ μ«μ μΌμͺ½ / μ€λ₯Έμͺ½μ λ°λ‘ μΉ΄μ΄ν νλ λ°©μμΈ κ² κ°μ΅λλ€. λ νμ΄ λͺ¨λ κ²°κ΅ κΈ°μ€μ λ¨μλ‘ ν μ΄μ μ΄ν΄λ³Έλ€ λΌλ μμ΄λμ΄λ λΉμ·ν κ² κ°μμ. μΈμ κ° λ€μ νμ΄λ³΄κ³ μΆκΈ°λ νκ³ , λ΅λ§ λ³΄κ³ μ΄ν΄ν λ¬Έμ μΈ κ² κ°μμ μ½λ μ μΆμ νμ§ μμμ΅λλ€. νΈμλλΌ κ³ μνμ ¨μ΄μ! π |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
λ무 μ΄λ ΅λ€μ γ γ μ§μ μλ λμ λ°μ μ λμ μ‘°μ ν΄ μμΈλ₯Ό μ²λ¦¬νκ³ , κ°μ΄λ° ꡬκ°μ μ리μ λ°λ³΅ ν¨ν΄μ μ΄μ©ν΄ ν λ²μ μΉ΄μ΄νΈνλ λ°©μμΌλ‘ λ¬Έμ λ₯Ό νμμ΅λλ€.
μ± νμ΄μ§
#include <iostream>
#include <vector>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
long long N;
cin >> N;
vector<long long> cnt(10, 0);
long long a = 1;
long long b = N;
long long digit = 1;
while (a <= b) {
while (a % 10 != 0 && a <= b) {
long long x = a;
for ( ; x > 0; x /= 10) {
cnt[x % 10] += digit;
}
a++;
}
if (a > b) {
break;
}
while (b % 10 != 9 && a <= b) {
long long x = b;
for ( ; x > 0; x /= 10) {
cnt[x % 10] += digit;
}
b--;
}
long long groups = (b / 10 - a / 10 + 1);
for (int d = 0; d < 10; d++) {
cnt[d] += groups * digit;
}
a /= 10;
b /= 10;
digit *= 10;
}
for (int d = 0; d < 10; d++) {
cout << cnt[d];
if (d < 9) {
cout << ' ';
}
}
cout << endl;
return 0;
}
λ¬Έμ νΈλλΌ κ³ μ λ§μΌμ ¨μ΅λλ€~!

π λ¬Έμ λ§ν¬
μ± νμ΄μ§
https://www.acmicpc.net/problem/1019
βοΈ μμλ μκ°
1μκ°
β¨ μλ μ½λ
μ£Όμ : μ΄ λ¬Έμ λ νμ΄λ₯Ό λ΄λ μ΄λ €μ°λ λμ ν μ ν리면 λ°λ‘ νμ΄λ₯Ό 보λ κ²μ κΆμ₯ν©λλ€.
λ¬Έμ μ체λ μ΄λ±νμλ μ΄ν΄ν μ λλ‘ μ½μ§λ§ μλΉν μ΄λ €μ΄ λ¬Έμ μ λλ€. μΌλ¨ μ λ ₯μ΄$N=10^9$ μ΄λ―λ‘ $O(N)$ μΌλ‘ νμν΄λ μκ°μ΄κ³Όκ° λ°μν©λλ€. μ΄ λ¬Έμ λ₯Ό νκΈ° μν΄μλ λκ° μνμ μΈ λ°μμ΄ νλ νμν©λλ€.
νμ΄λ λ°±μ€ μ¨λΌμΈ μ μ§λ₯Ό λ§λμ μ΅λ°±μ€ λκ»μ μ¬λ¦° μ¬λΌμ΄λλ₯Ό μ°Έκ³ νμ΅λλ€.
https://www.slideshare.net/slideshow/baekjoon-online-judge-1019/52810015
μμ΄λμ΄λ AλΆν° BκΉμ§ κ° μ«μκ° λͺ λ² λμ€λμ§λ₯Ό μ°Ύλ λ¬Έμ λ‘ λ°κΏμ μκ°νλ κ²μ λλ€.
μ΄λ Aμ μΌμμλ¦¬κ° 0μ΄κ³ , Bμ μΌμμλ¦¬κ° 9μΈ κ²½μ°, Aμ Bμ¬μ΄μ μμ 0-9κ° μΌμ μ리μ κ°κ° λͺ λ²μ© λμ€λμ§λ₯Ό λ°λ‘ κ³μ°ν μ μμ΅λλ€.
μλ₯Ό λ€μ΄ A=10, B=39μΈ κ²½μ°, μΌμ μ리μλ 0-9κ° μ΄ 3λ²μ© λμ€λ κ±Έ λ³Ό μ μμ΅λλ€.
μ리μκ° λμ΄μ A=110, B=130μΈ κ²½μ°λ, μΌμ μ리μμλ 0-9κ° 13-11+1=3λ²μ© λμ€λ κ±Έ λ³Ό μ μμ΅λλ€.
λ°λΌμ μ°λ¦¬λ Aμ λ μ리λ₯Ό 0, Bμ λμ리λ₯Ό 9λ‘ λ§μΆ λ²μμμμλ Aμ Bμ¬μ΄μ 0-9κ° μ΄ λͺ λ² λμ€λμ§λ₯Ό λ°λ‘ κ³μ°ν μ μμ΅λλ€. Aμ λ μ리λ₯Ό 0, Bμ λμ리λ₯Ό 9λ‘ λ§μΆ λκΉμ§ Aλ +1, Bλ -1νλ©΄μ κ·Έ λμ A, Bλ λ°λ‘ μ«μκ° λμ€λ νμλ₯Ό κ³μ°νλ©΄ λ©λλ€.
μ½λλ‘ κ΅¬νν λλ
A % 10μ νλ©΄ μμ μΌμ μ리μκ° λμ€κ³ ,A // 10μ νλ©΄ μΌμ μ리 μλ₯Ό λ μ«μκ° λμ¨λ€λ μ μ μ¬μ©ν©λλ€.μ΄λ μ£Όμν μ μ μμ μ리μ μμΉν 0-9μ κ°μλ₯Ό ꡬν λλ μλ 곡μμμ *10μ ν΄μ£Όμ΄μΌν©λλ€.
μ κ·Έλ¦Όμ²λΌ μ°λ¦¬κ° 11μ΄λΌκ³ 보λ κ±°λ μ¬μ€ λ€μ 0-9κ° λΆμ 110, 111, 112, 113, 114, ... κ° ν λ©μ΄λ¦¬λ‘ λμ΄μλ€κ³ 보λ κ²λλ€.
λ§μ°¬κ°μ§λ‘ λ°±μ μ리μ μμΉν 0-9μ κ°μλ₯Ό ꡬν λλ μλ 곡μμμ *100μ ν΄μ£Όλ©΄ λ©λλ€.
μμ€ μ½λ
μ μμ μ΄ν΄κ° μ½μ§μμμ μ£Όμμ μ λ§ μμΈν μμ±νμ΅λλ€.
μ£Όμ μ€ 'μ λμ¬'λΌλ μλ―Έλ μμμ μ€λͺ ν μμ μ리μ μμΉν 0-9μ κ°μλ₯Ό ꡬν λλ μλ 곡μμμ *10, λ°±μ μ리λ *100 μ ν΄μΌνλ€λ κ²κ³Ό κ°μ μλ―Έμ λλ€.
π μλ‘κ² μκ²λ λ΄μ©
μ¬μ€ N=9, 99, 999, 9999 κ°μ μμΌ λλ λ€μκ³Ό κ°μ κ·μΉμ΄ μμ΅λλ€.

μ΄λ¬ν κ·μΉμ μ΄μ©ν΄μ λ΄κ° μ°Ύλ μλ₯Ό 000...0 λΆν° x999..9 κΉμ§μ λ²μλ‘ μ’νλ λ°©λ²μ λ°λ³΅ν΄μ νΈλ νμ΄λ μμ΅λλ€. μλ λ§ν¬λ₯Ό μ°Έκ³ νμΈμ!
https://dorianyellow.tistory.com/120