๐ง ๋ฐฑ์ค 1427, 1676, 2577, 2711 _ ๋จ์ผ ์ซ์์ ๋ํ ๋ฆฌ์คํธ๋ฅผ ์ด์ฉํ ์ ๊ทผ
๐คซ ํด๊ฒฐ์ ์ค๋ง๋ฆฌ
๐ค ๋จ์ผ์ซ์๋ ๋ฌธ์์ด์ ๋ํ ์ ๊ทผ์ด๋ ๋ฆฌ์คํธ๋ก ์ด๋ป๊ฒ ๋ฐ๊ฟ๊น?
๐ ๋จ์ผ ์ซ์์ ๊ฒฝ์ฐ๋ ๋ค์๊ณผ ๊ฐ๋ค.
1. ๋จ์ผ ์ซ์๋ฅผ ๋ฌธ์์ด๋ก ๋ฐ๊พผ๋ค.
2. ๋ฌธ์์ด์ ๋ฆฌ์คํธ์ ๋ฃ๋๋ค.
str_num = str(n) str_list = list(str_num)โ
๐ ๋ฌธ์ ์ ๋ง๋ ์ฐ์ฐ ์งํ ํ ๋ค์ ์ซ์๋ก ์ถ๋ ฅํ๊ณ ์ถ๋ค๋ฉด?
3. ๋ฆฌ์คํธ๊ฐ๋ค์ ์ถ๋ ฅ
print(*sorted(num, reverse = True) , sep = '') # sep=''๋ฅผ ํตํด ์์๊ฐ์ ๊ตฌ๋ถ์์ธ ๊ณต๋ฐฑ์ ์์ ์ค์ผ๋ก # 9 9 9 9 9 9 9 9 8 ์ # 999999998 ๋ก ์ถ๋ ฅโ
๐ง ์ฌ์ฉ๋ฒ์ ๋ํ ์ ๋ฆฌ.num = int(input()) str_x = list(str(num)) # ['1', '2', '3', '4', '5', '6'] int_x = list(map(int, str_x)) # [1, 2, 3, 4, 5, 6] print(*int_x) # 1 2 3 4 5 6 print(*int_x, sep="") # 123456
๐ค ์ํ๋ ์์๋ฅผ ์ด๋ป๊ฒ ์ง์ธ๊น? pop, del, remove ํจ์!
# cf-1 pop a = [1,2,1,3,4,5,1] removed = a.pop(1) # 1๋ฒ์งธ index ์ญ์ ๋จ, return ๊ฐ๋ฅ print(a) # [1, 1, 3, 4, 5, 1] print(removed) # 2 <-- popํ ์์๋ฅผ return ๊ฐ๋ฅ
# cf-2 del -> pop๊ณผ ๋ค๋ฅด๊ฒ ๋ฆฌ์คํธ์ ๋ฒ์๋ฅผ ์ง์ ํด ์ญ์ ๊ฐ๋ฅ a = [1,2,1,3,4,5,1] del a[:2] print(a) # [1, 3, 4, 5, 1]
#cf-3 remove -> ์์ ๋ฌ๋ฆฌ ์ง์ฐ๊ณ ์ ํ๋ ์ธ๋ฑ์ค๊ฐ ์๋ ๊ฐ์ ์ ๋ ฅ for _ in numbers : numbers.remove(3)
๐คซ solution_1427# ์ ๋ ฅ: 999998999 num = list(map(int, input())) # ๊ณต๋ฐฑ์์ด ์ ๋ ฅ๋ฐ์ ๋, list์ ์ ์ฅํ๋ ๋ฒ print(*sorted(num, reverse = True) , sep = '') # sep=''๋ฅผ ํตํด ์์๊ฐ์ ๊ตฌ๋ถ์์ธ ๊ณต๋ฐฑ์ ์์ ์ค์ผ๋ก # 9 9 9 9 9 9 9 9 8 ์ # 999999998 ๋ก ์ถ๋ ฅ # cf. end์ต์ ์ ์ฌ์ฉํ๋ฉด ๊ทธ ๋ค์ ๋์ค๋ ์ถ๋ ฅ๊ฐ๊ณผ ๊ตฌ๋ถ์ ์ง๋ ๊ตฌ๋ถ์ ์ญํ ์ ํ๋ค. print(*sorted(num, reverse = True) , end = " hello ") print(num) # 9 9 9 9 9 9 9 9 8 hello [9, 9, 9, 9, 9, 8, 9, 9, 9] ๊ฐ ์ถ๋ ฅ
๐คซ solution_1676def fac(n): if n <= 1: return 1 else: return n * fac(n - 1) N = int(input()) n = fac(N) # ์ซ์๋ฅผ ๋ฆฌ์คํธ์ ํ์๋ฆฌ์ฉ ๋ฃ๊ธฐ (์ซ์->๋ฌธ์์ด) str_num = str(n) str_list = list(str_num) cnt = 0 for i in reversed(str_list): if i == '0': cnt += 1 else: break print(cnt)
๐คซ solution_2577
num = [] for i in range(3): n = int(input()) num.append(n) mul = 1 for i in range(3): mul *= num[i] str_x = list(str(mul)) int_x = list(map(int, str_x)) out_ls = [] for i in range(10): out_ls.append(int_x.count(i)) for i in range(10): print(out_ls[i])
๐ง ๋ฐฑ์ค 1292 , 4458 ํ์ด ๋ฐ ์ฌ์ฉํจ์
๐คซ ํด๊ฒฐ์ ์ค๋ง๋ฆฌ
๐ค ๋ฆฌ์คํธ ์ฌ์ฉ์ ํต์ฌ! ์ธ๋ฑ์ค ์ฌ๋ผ์ด์ฑ
์ธ๋ฑ์ค ์ฌ๋ผ์ด์ฑ์ ๋ํ ์์ฉ๋ฐฉ๋ฒ์ ์๋ ํด์ค์ ํตํด ๋ณผ ์ ์๋๋ฐ, [:]๋ฅผ ์ด์ฉํ๋ค.
๐คซ solution_1292A, B = map(int, input().split()) num_sequences = [] for i in range(1000): for j in range(i): num_sequences.append(i print(sum(num_sequences[A-1:B]))
๐คซ solution_4458for i in [input() for _ in range(int(input()))]: print(i[:1].upper() + i[1:])
๐ง ๋ฐฑ์ค 1157 ํ์ด ๋ฐ ์ฌ์ฉ ํจ์
๐คซ ํด๊ฒฐ์ ์ค๋ง๋ฆฌ
๐ค ์์๊ฐ ๊ฒน์น์ง ์์? set ์๋ฃ๊ตฌ์กฐ
์ฃผ๋ก ์ฌ์ฉํ๋ ๋ฆฌ์คํธ๋ก set์ ๋ณํํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.
a_set = set(a) lst = [] for i in a_set: lst.append(a.count(i))
๐คซ solution_1546a = list(str(input()).upper()) a_set = set(a) cnt = [] for i in a_set: cnt.append(a.count(i)) if cnt.count(max(cnt)) <= 1: print(max(a, key = a.count)) else: print("?")
๐ง ๋ฐฑ์ค 1292 , 4458 ํ์ด ๋ฐ ์ฌ์ฉํจ์
๐คซ ํด๊ฒฐ์ ์ค๋ง๋ฆฌ
๐ค ๋ฆฌ์คํธ ์ฌ์ฉ์ ํต์ฌ! ์ธ๋ฑ์ค ์ฌ๋ผ์ด์ฑ
์ธ๋ฑ์ค ์ฌ๋ผ์ด์ฑ์ ๋ํ ์์ฉ๋ฐฉ๋ฒ์ ์๋ ํด์ค์ ํตํด ๋ณผ ์ ์๋๋ฐ, [:]๋ฅผ ์ด์ฉํ๋ค.
๐คซ solution_1292A, B = map(int, input().split()) num_sequences = [] for i in range(1000): for j in range(i): num_sequences.append(i print(sum(num_sequences[A-1:B]))
๐คซ solution_4458for i in [input() for _ in range(int(input()))]: print(i[:1].upper() + i[1:])
๐ง ๋ฐฑ์ค 2309, 2822 ํ์ด ๋ฐ ์ฌ์ฉํจ์
๐คซ ํด๊ฒฐ์ ์ค๋ง๋ฆฌ
๐ค ์ ๋ ฌ์ ์ค์ค๋ก ํด์ฃผ๋ ๋ด์ฅํจ์, sorted๋ฅผ ์ด์ฉํ์!
์ ๋ ฌ ํจ์๋ ๋ค์ 2๊ฐ์ง๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
a.sort() sorted(a)
๋์ ์ฐจ์ด๋ ๋ฐ๋ก ๋ฐํ์ ์ฌ๋ถ์ด๋ค.
a.sort์ ๊ฒฝ์ฐ, ๋ฐํ์ ํด์ฃผ์ง ์๊ธฐ์ print๋ฌธ์ ๋ฃ์ด์ฃผ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ฒ ๋๋ค.
ํ์ง๋ง sorted์ ๊ฒฝ์ฐ, ๊ฐ์ ๋ฐํ์ด ์ด๋ฃจ์ด์ง ์ ์์ด์ print๋ฌธ์์๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์๋๋ค.
๐ค cf. ์ถ๋ ฅ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ์!
sorted(idx_list) => [3, 4, 5, 6, 8] *sorted(idx_list) => 3 4 5 6 8
๐คซ solution_2309
dwarf = [int(input()) for _ in range(9)] for i in range(len(dwarf)): for j in range(i+1, len(dwarf)): if (sum(dwarf) - (dwarf[i] + dwarf[j])) == 100: dwarf1, dwarf2 = dwarf[j], dwarf[i] # out of index range ์กฐ์ฌ dwarf.remove(dwarf1) dwarf.remove(dwarf2) break else: continue print(*sorted(dwarf), sep = "\n")
๐คซ solution_2822
score = [int(input()) for _ in range(8)] total = list(sorted(score, reverse=True)) print(sum(total[:5])) idx_list = [] for i in range(5): idx_list.append(score.index(max(score)) + 1) score[score.index(max(score))] = -100 print(*sorted(idx_list)) # sorted(idx_list) => [3, 4, 5, 6, 8] # *sorted(idx_list) => 3 4 5 6 8
๐ง ๋ฐฑ์ค 11047 ํ์ด
๐คซ solution_11047 (Greedy Algorithm)
N, K = map(int, input().split()) coin = sorted([int(input()) for _ in range(N)], reverse=True) cnt = 0 while K != 0: for i in range(N): if coin[i] > K: i -= 1 else: frequency = K // coin[i] K -= coin[i] * frequency cnt += frequency print(cnt)