From 0b3938dcac95b780213f2529636563e2a97b335d Mon Sep 17 00:00:00 2001 From: eucha09 Date: Fri, 7 Jul 2023 18:51:37 +0900 Subject: [PATCH 1/7] upload: ch09 1406 codes(cpp, py) --- .../1406.cpp" | 51 +++++++++++++++++++ .../1406.py" | 23 +++++++++ 2 files changed, 74 insertions(+) create mode 100644 "Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Ch09_\353\246\254\354\212\244\355\212\270/\353\254\270\354\240\234\353\263\204\354\275\224\353\223\234/1406_\354\227\220\353\224\224\355\204\260/1406.cpp" create mode 100644 "Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Ch09_\353\246\254\354\212\244\355\212\270/\353\254\270\354\240\234\353\263\204\354\275\224\353\223\234/1406_\354\227\220\353\224\224\355\204\260/1406.py" diff --git "a/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Ch09_\353\246\254\354\212\244\355\212\270/\353\254\270\354\240\234\353\263\204\354\275\224\353\223\234/1406_\354\227\220\353\224\224\355\204\260/1406.cpp" "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Ch09_\353\246\254\354\212\244\355\212\270/\353\254\270\354\240\234\353\263\204\354\275\224\353\223\234/1406_\354\227\220\353\224\224\355\204\260/1406.cpp" new file mode 100644 index 0000000..c947ac3 --- /dev/null +++ "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Ch09_\353\246\254\354\212\244\355\212\270/\353\254\270\354\240\234\353\263\204\354\275\224\353\223\234/1406_\354\227\220\353\224\224\355\204\260/1406.cpp" @@ -0,0 +1,51 @@ +#include +#include +#include +using namespace std; + +int main(void) +{ + char origin[100001]; + list lst; + int M; + + scanf("%s", origin); + for (int i = 0; origin[i]; i++) + lst.push_back(origin[i]); + + scanf("%d", &M); + list::iterator it = lst.end(); + while (M--) + { + char cmd; + scanf(" %c", &cmd); + if (cmd == 'L') + { + if (it != lst.begin()) + it--; + } + else if (cmd == 'D') + { + if (it != lst.end()) + it++; + } + else if (cmd == 'B') + { + if (it != lst.begin()) + { + it--; + it = lst.erase(it); + } + } + else if (cmd == 'P') + { + char c; + scanf(" %c", &c); + lst.insert(it, c); + } + } + + string result(lst.begin(), lst.end()); + printf("%s\n", result.c_str()); + return 0; +} diff --git "a/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Ch09_\353\246\254\354\212\244\355\212\270/\353\254\270\354\240\234\353\263\204\354\275\224\353\223\234/1406_\354\227\220\353\224\224\355\204\260/1406.py" "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Ch09_\353\246\254\354\212\244\355\212\270/\353\254\270\354\240\234\353\263\204\354\275\224\353\223\234/1406_\354\227\220\353\224\224\355\204\260/1406.py" new file mode 100644 index 0000000..12ea2f2 --- /dev/null +++ "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Ch09_\353\246\254\354\212\244\355\212\270/\353\254\270\354\240\234\353\263\204\354\275\224\353\223\234/1406_\354\227\220\353\224\224\355\204\260/1406.py" @@ -0,0 +1,23 @@ +import sys +input = sys.stdin.readline + +origin = input().rstrip() +left_lst = list(origin) +right_lst = [] +M = int(input()) +while M > 0: + cmd = input().rstrip() + if cmd[0] == 'L': + if left_lst: + right_lst.append(left_lst.pop()) + elif cmd[0] == 'D': + if right_lst: + left_lst.append(right_lst.pop()) + elif cmd[0] == 'B': + if left_lst: + left_lst.pop() + elif cmd[0] == 'P': + left_lst.append(cmd[2]) + M -= 1 + +print(''.join(left_lst + right_lst[::-1])) From 52b293310df0ae860ed1398b70370a76b3feac85 Mon Sep 17 00:00:00 2001 From: eucha09 Date: Tue, 11 Jul 2023 19:37:43 +0900 Subject: [PATCH 2/7] upload: part1 practice 2877 codes(cpp, py) --- .../2877_4\354\231\2007/2877.cpp" | 26 +++++++++++++++++++ .../2877_4\354\231\2007/2877.py" | 5 ++++ 2 files changed, 31 insertions(+) create mode 100644 "Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/2877_4\354\231\2007/2877.cpp" create mode 100644 "Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/2877_4\354\231\2007/2877.py" diff --git "a/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/2877_4\354\231\2007/2877.cpp" "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/2877_4\354\231\2007/2877.cpp" new file mode 100644 index 0000000..649b24c --- /dev/null +++ "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/2877_4\354\231\2007/2877.cpp" @@ -0,0 +1,26 @@ +#include +#include +#include +using namespace std; + +int main() +{ + int k; + string ans; + + scanf("%d", &k); + + k++; + while (k) + { + if (k % 2 == 0) + ans.push_back('4'); + else + ans.push_back('7'); + k /= 2; + } + reverse(ans.begin(), ans.end()); + + printf("%s\n", ans.c_str() + 1); + return 0; +} diff --git "a/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/2877_4\354\231\2007/2877.py" "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/2877_4\354\231\2007/2877.py" new file mode 100644 index 0000000..103521b --- /dev/null +++ "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/2877_4\354\231\2007/2877.py" @@ -0,0 +1,5 @@ +K = int(input()) + +ans = str(bin(K + 1))[3:].replace('0', '4').replace('1', '7') + +print(ans) From ceb23033fac093ca1ba07ae21df373cc05dcb51b Mon Sep 17 00:00:00 2001 From: eucha09 Date: Wed, 12 Jul 2023 18:59:35 +0900 Subject: [PATCH 3/7] upload: part1 practice 1713 codes(cpp, py) --- .../1713.cpp" | 52 +++++++++++++++++++ .../1713.py" | 29 +++++++++++ 2 files changed, 81 insertions(+) create mode 100644 "Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1713_\355\233\204\353\263\264\354\266\224\354\262\234\355\225\230\352\270\260/1713.cpp" create mode 100644 "Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1713_\355\233\204\353\263\264\354\266\224\354\262\234\355\225\230\352\270\260/1713.py" diff --git "a/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1713_\355\233\204\353\263\264\354\266\224\354\262\234\355\225\230\352\270\260/1713.cpp" "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1713_\355\233\204\353\263\264\354\266\224\354\262\234\355\225\230\352\270\260/1713.cpp" new file mode 100644 index 0000000..9eee236 --- /dev/null +++ "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1713_\355\233\204\353\263\264\354\266\224\354\262\234\355\225\230\352\270\260/1713.cpp" @@ -0,0 +1,52 @@ +#include +#include +#include +using namespace std; + +struct Student { + int number; + int scr; + int postedAt; +}; + +int main() +{ + int N, R; + vector post; + + scanf("%d", &N); + scanf("%d", &R); + for (int i = 0; i < R; i++) + { + int votedNumber; + scanf("%d", &votedNumber); + + bool alreadyPosted = false; + for (int j = 0; j < post.size(); j++) + { + if (post[j].number == votedNumber) + { + post[j].scr++; + alreadyPosted = true; + break; + } + } + + if (!alreadyPosted) + { + if (post.size() < N) + post.push_back({votedNumber, 1, i}); + else + { + sort(post.begin(), post.end(), [](Student o1, Student o2)->bool{ return o1.scr == o2.scr ? o1.postedAt < o2.postedAt : o1.scr < o2.scr; }); + post[0] = {votedNumber, 1, i}; + } + } + } + + sort(post.begin(), post.end(), [](Student o1, Student o2)->bool{ return o1.number < o2.number; }); + for (int i = 0; i < post.size(); i++) + printf("%d ", post[i]); + printf("\n"); + return 0; +} diff --git "a/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1713_\355\233\204\353\263\264\354\266\224\354\262\234\355\225\230\352\270\260/1713.py" "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1713_\355\233\204\353\263\264\354\266\224\354\262\234\355\225\230\352\270\260/1713.py" new file mode 100644 index 0000000..aece143 --- /dev/null +++ "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1713_\355\233\204\353\263\264\354\266\224\354\262\234\355\225\230\352\270\260/1713.py" @@ -0,0 +1,29 @@ +class Student: + def __init__(self, number, scr, postedAt): + self.number = number + self.scr = scr + self.postedAt = postedAt + +N = int(input()) +R = int(input()) +votedNumberList = list(map(int,input().split())) +post = [] + +for i in range(R): + alreadyPosted = False + + for j in range(len(post)): + if post[j].number == votedNumberList[i]: + post[j].scr += 1 + alreadyPosted = True + break + + if not alreadyPosted: + if len(post) < N: + post.insert(0, Student(votedNumberList[i], 1, i)) + else: + post.sort(key=lambda s: (s.scr, s.postedAt)) + post[0] = Student(votedNumberList[i], 1, i) + +post.sort(key=lambda s: s.number) +print(' '.join(str(s.number) for s in post)) From 89c7fd6b8d63a8c9fa1e3e49a96cecd8cf778602 Mon Sep 17 00:00:00 2001 From: eucha09 Date: Wed, 12 Jul 2023 19:45:37 +0900 Subject: [PATCH 4/7] upload: part1 practice 3079 codes(cpp, py) --- .../3079.cpp" | 40 +++++++++++++++++++ .../3079.py" | 23 +++++++++++ 2 files changed, 63 insertions(+) create mode 100644 "Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/3079_\354\236\205\352\265\255\354\213\254\354\202\254/3079.cpp" create mode 100644 "Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/3079_\354\236\205\352\265\255\354\213\254\354\202\254/3079.py" diff --git "a/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/3079_\354\236\205\352\265\255\354\213\254\354\202\254/3079.cpp" "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/3079_\354\236\205\352\265\255\354\213\254\354\202\254/3079.cpp" new file mode 100644 index 0000000..66204a7 --- /dev/null +++ "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/3079_\354\236\205\352\265\255\354\213\254\354\202\254/3079.cpp" @@ -0,0 +1,40 @@ +#include +#include +#include +using namespace std; +typedef long long ll; + +ll howManyPass(ll givenTime, vector &timePerPass) +{ + ll count = 0; + for (int i = 0; i < timePerPass.size(); i++) + count += givenTime / timePerPass[i]; + return count; +} + +int main() +{ + int N, M; + + scanf("%d %d", &N, &M); + vector timePerPass(N); + for (int i = 0; i < N; i++) + scanf("%d", &timePerPass[i]); + + ll ans; + ll l = 1; + ll r = (ll)(*min_element(timePerPass.begin(), timePerPass.end())) * M; + while (l <= r) + { + ll m = (l + r) / 2; + if (howManyPass(m, timePerPass) >= M) + { + ans = m; + r = m - 1; + } + else + l = m + 1; + } + printf("%lld\n", ans); + return 0; +} diff --git "a/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/3079_\354\236\205\352\265\255\354\213\254\354\202\254/3079.py" "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/3079_\354\236\205\352\265\255\354\213\254\354\202\254/3079.py" new file mode 100644 index 0000000..145d1c5 --- /dev/null +++ "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/3079_\354\236\205\352\265\255\354\213\254\354\202\254/3079.py" @@ -0,0 +1,23 @@ +def howManyPass(givenTime, timePerPass): + count = 0 + for t in timePerPass: + count += givenTime // t + return count + +N, M = map(int, input().split()) + +timePerPass = [int(input()) for _ in range(N)] + +ans = 0 +l = 1 +r = min(timePerPass) * M + +while l <= r: + m = (l + r) // 2 + if howManyPass(m, timePerPass) >= M: + ans = m + r = m - 1 + else: + l = m + 1 + +print(ans) From e1c6ff7018bc08a3556a6377e2f80f27a9a39055 Mon Sep 17 00:00:00 2001 From: eucha09 Date: Tue, 18 Jul 2023 23:50:31 +0900 Subject: [PATCH 5/7] modify: 1713.cpp 1713.py 3079.cpp 3079.py --- .../1713.cpp" | 26 +++++++++---------- .../1713.py" | 22 ++++++++-------- .../3079.cpp" | 14 +++++----- .../3079.py" | 12 ++++----- 4 files changed, 37 insertions(+), 37 deletions(-) diff --git "a/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1713_\355\233\204\353\263\264\354\266\224\354\262\234\355\225\230\352\270\260/1713.cpp" "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1713_\355\233\204\353\263\264\354\266\224\354\262\234\355\225\230\352\270\260/1713.cpp" index 9eee236..4ade824 100644 --- "a/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1713_\355\233\204\353\263\264\354\266\224\354\262\234\355\225\230\352\270\260/1713.cpp" +++ "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1713_\355\233\204\353\263\264\354\266\224\354\262\234\355\225\230\352\270\260/1713.cpp" @@ -3,48 +3,48 @@ #include using namespace std; -struct Student { +struct student { int number; int scr; - int postedAt; + int posted_at; }; int main() { int N, R; - vector post; + vector post; scanf("%d", &N); scanf("%d", &R); for (int i = 0; i < R; i++) { - int votedNumber; - scanf("%d", &votedNumber); + int voted_number; + scanf("%d", &voted_number); - bool alreadyPosted = false; + bool already_posted = false; for (int j = 0; j < post.size(); j++) { - if (post[j].number == votedNumber) + if (post[j].number == voted_number) { post[j].scr++; - alreadyPosted = true; + already_posted = true; break; } } - if (!alreadyPosted) + if (!already_posted) { if (post.size() < N) - post.push_back({votedNumber, 1, i}); + post.push_back({voted_number, 1, i}); else { - sort(post.begin(), post.end(), [](Student o1, Student o2)->bool{ return o1.scr == o2.scr ? o1.postedAt < o2.postedAt : o1.scr < o2.scr; }); - post[0] = {votedNumber, 1, i}; + sort(post.begin(), post.end(), [](student o1, student o2)->bool{ return o1.scr == o2.scr ? o1.posted_at < o2.posted_at : o1.scr < o2.scr; }); + post[0] = {voted_number, 1, i}; } } } - sort(post.begin(), post.end(), [](Student o1, Student o2)->bool{ return o1.number < o2.number; }); + sort(post.begin(), post.end(), [](student o1, student o2)->bool{ return o1.number < o2.number; }); for (int i = 0; i < post.size(); i++) printf("%d ", post[i]); printf("\n"); diff --git "a/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1713_\355\233\204\353\263\264\354\266\224\354\262\234\355\225\230\352\270\260/1713.py" "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1713_\355\233\204\353\263\264\354\266\224\354\262\234\355\225\230\352\270\260/1713.py" index aece143..8ad1e61 100644 --- "a/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1713_\355\233\204\353\263\264\354\266\224\354\262\234\355\225\230\352\270\260/1713.py" +++ "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1713_\355\233\204\353\263\264\354\266\224\354\262\234\355\225\230\352\270\260/1713.py" @@ -1,29 +1,29 @@ -class Student: - def __init__(self, number, scr, postedAt): +class student: + def __init__(self, number, scr, posted_at): self.number = number self.scr = scr - self.postedAt = postedAt + self.posted_at = posted_at N = int(input()) R = int(input()) -votedNumberList = list(map(int,input().split())) +voted_number_list = list(map(int,input().split())) post = [] for i in range(R): - alreadyPosted = False + already_posted = False for j in range(len(post)): - if post[j].number == votedNumberList[i]: + if post[j].number == voted_number_list[i]: post[j].scr += 1 - alreadyPosted = True + already_posted = True break - if not alreadyPosted: + if not already_posted: if len(post) < N: - post.insert(0, Student(votedNumberList[i], 1, i)) + post.insert(0, student(voted_number_list[i], 1, i)) else: - post.sort(key=lambda s: (s.scr, s.postedAt)) - post[0] = Student(votedNumberList[i], 1, i) + post.sort(key=lambda s: (s.scr, s.posted_at)) + post[0] = student(voted_number_list[i], 1, i) post.sort(key=lambda s: s.number) print(' '.join(str(s.number) for s in post)) diff --git "a/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/3079_\354\236\205\352\265\255\354\213\254\354\202\254/3079.cpp" "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/3079_\354\236\205\352\265\255\354\213\254\354\202\254/3079.cpp" index 66204a7..779d06a 100644 --- "a/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/3079_\354\236\205\352\265\255\354\213\254\354\202\254/3079.cpp" +++ "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/3079_\354\236\205\352\265\255\354\213\254\354\202\254/3079.cpp" @@ -4,11 +4,11 @@ using namespace std; typedef long long ll; -ll howManyPass(ll givenTime, vector &timePerPass) +ll how_many_pass(ll given_time, vector &time_per_pass) { ll count = 0; - for (int i = 0; i < timePerPass.size(); i++) - count += givenTime / timePerPass[i]; + for (int i = 0; i < time_per_pass.size(); i++) + count += given_time / time_per_pass[i]; return count; } @@ -17,17 +17,17 @@ int main() int N, M; scanf("%d %d", &N, &M); - vector timePerPass(N); + vector time_per_pass(N); for (int i = 0; i < N; i++) - scanf("%d", &timePerPass[i]); + scanf("%d", &time_per_pass[i]); ll ans; ll l = 1; - ll r = (ll)(*min_element(timePerPass.begin(), timePerPass.end())) * M; + ll r = (ll)(*min_element(time_per_pass.begin(), time_per_pass.end())) * M; while (l <= r) { ll m = (l + r) / 2; - if (howManyPass(m, timePerPass) >= M) + if (how_many_pass(m, time_per_pass) >= M) { ans = m; r = m - 1; diff --git "a/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/3079_\354\236\205\352\265\255\354\213\254\354\202\254/3079.py" "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/3079_\354\236\205\352\265\255\354\213\254\354\202\254/3079.py" index 145d1c5..f9d75b8 100644 --- "a/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/3079_\354\236\205\352\265\255\354\213\254\354\202\254/3079.py" +++ "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/3079_\354\236\205\352\265\255\354\213\254\354\202\254/3079.py" @@ -1,20 +1,20 @@ -def howManyPass(givenTime, timePerPass): +def how_many_pass(given_time, time_per_pass): count = 0 - for t in timePerPass: - count += givenTime // t + for t in time_per_pass: + count += given_time // t return count N, M = map(int, input().split()) -timePerPass = [int(input()) for _ in range(N)] +time_per_pass = [int(input()) for _ in range(N)] ans = 0 l = 1 -r = min(timePerPass) * M +r = min(time_per_pass) * M while l <= r: m = (l + r) // 2 - if howManyPass(m, timePerPass) >= M: + if how_many_pass(m, time_per_pass) >= M: ans = m r = m - 1 else: From 037bf8694bf6635bdd27ead15b1fbda1f5b92cc8 Mon Sep 17 00:00:00 2001 From: eucha09 Date: Wed, 19 Jul 2023 00:19:52 +0900 Subject: [PATCH 6/7] upload: part1 practice 1339 codes(cpp, py) --- .../1339.cpp" | 31 +++++++++++++++++++ .../1339.py" | 17 ++++++++++ 2 files changed, 48 insertions(+) create mode 100644 "Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1339_\353\213\250\354\226\264\354\210\230\355\225\231/1339.cpp" create mode 100644 "Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1339_\353\213\250\354\226\264\354\210\230\355\225\231/1339.py" diff --git "a/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1339_\353\213\250\354\226\264\354\210\230\355\225\231/1339.cpp" "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1339_\353\213\250\354\226\264\354\210\230\355\225\231/1339.cpp" new file mode 100644 index 0000000..664dbd2 --- /dev/null +++ "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1339_\353\213\250\354\226\264\354\210\230\355\225\231/1339.cpp" @@ -0,0 +1,31 @@ +#include +#include +#include +using namespace std; + +int main() +{ + int N; + int alp_value[26] = {0, }; + char word[11]; + + scanf("%d", &N); + while (N--) + { + scanf("%s", word); + int place_value = 1; + for (int i = strlen(word) - 1; i >= 0; i--) + { + alp_value[word[i] - 'A'] += place_value; + place_value *= 10; + } + } + + sort(alp_value, alp_value + 26); + + int ans = 0; + for (int i = 0; i < 10; i++) + ans += alp_value[25 - i] * (9 - i); + printf("%d\n", ans); + return 0; +} diff --git "a/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1339_\353\213\250\354\226\264\354\210\230\355\225\231/1339.py" "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1339_\353\213\250\354\226\264\354\210\230\355\225\231/1339.py" new file mode 100644 index 0000000..f049e1f --- /dev/null +++ "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1339_\353\213\250\354\226\264\354\210\230\355\225\231/1339.py" @@ -0,0 +1,17 @@ +N = int(input()) +alp_value = [0] * 26 + +for _ in range(N): + word = input() + place_value = 1 + for i in range(len(word)-1, -1, -1): + alp_value[ord(word[i]) - ord('A')] += place_value + place_value *= 10 + +alp_value = sorted(alp_value) + +ans = 0 +for i in range(10): + ans += alp_value[25 - i] * (9 - i) + +print(ans) From bf06f59e73e536e19acf004b326b4125ea145176 Mon Sep 17 00:00:00 2001 From: eucha09 Date: Wed, 19 Jul 2023 02:02:47 +0900 Subject: [PATCH 7/7] upload: part1 practice 1300 codes(cpp, py) --- .../1300.cpp" | 32 +++++++++++++++++++ .../1300.py" | 17 ++++++++++ 2 files changed, 49 insertions(+) create mode 100644 "Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1300_K\353\262\210\354\247\270\354\210\230/1300.cpp" create mode 100644 "Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1300_K\353\262\210\354\247\270\354\210\230/1300.py" diff --git "a/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1300_K\353\262\210\354\247\270\354\210\230/1300.cpp" "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1300_K\353\262\210\354\247\270\354\210\230/1300.cpp" new file mode 100644 index 0000000..77b6ec2 --- /dev/null +++ "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1300_K\353\262\210\354\247\270\354\210\230/1300.cpp" @@ -0,0 +1,32 @@ +#include +#include +using namespace std; +typedef long long ll; + +int main() +{ + int N, K; + + scanf("%d", &N); + scanf("%d", &K); + + ll l = 1; + ll r = (ll)N * N; + ll ans = -1; + while (l <= r) + { + ll m = (l + r) / 2; + ll count = 0; + for (int i = 1; i <= N; i++) + count += min(m / i, (ll)N); + if (count >= K) + { + ans = m; + r = m - 1; + } + else + l = m + 1; + } + printf("%lld\n", ans); + return 0; +} diff --git "a/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1300_K\353\262\210\354\247\270\354\210\230/1300.py" "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1300_K\353\262\210\354\247\270\354\210\230/1300.py" new file mode 100644 index 0000000..f2d0dc1 --- /dev/null +++ "b/Part1_\352\260\225\354\235\230\354\236\220\353\243\214/Part1_\354\227\260\354\212\265\353\254\270\354\240\234_\355\222\200\354\235\264/1300_K\353\262\210\354\247\270\354\210\230/1300.py" @@ -0,0 +1,17 @@ +N = int(input()) +K = int(input()) + +l = 1 +r = N * N +ans = -1 +while l <= r: + m = (l + r) // 2 + count = 0 + for i in range(1, N+1): + count += min(m // i, N) + if count >= K: + ans = m + r = m - 1 + else: + l = m + 1 +print(ans)