๐Ÿ—๏ธ Algorithm/๐ŸŸฉ ๋ฐฑ์ค€ 227

[๋ฐฑ์ค€] (Python) 2217๋ฒˆ _๋กœํ”„

https://www.acmicpc.net/problem/2217 2217๋ฒˆ: ๋กœํ”„ N(1 ≤ N ≤ 100,000)๊ฐœ์˜ ๋กœํ”„๊ฐ€ ์žˆ๋‹ค. ์ด ๋กœํ”„๋ฅผ ์ด์šฉํ•˜์—ฌ ์ด๋Ÿฐ ์ €๋Ÿฐ ๋ฌผ์ฒด๋ฅผ ๋“ค์–ด์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋‹ค. ๊ฐ๊ฐ์˜ ๋กœํ”„๋Š” ๊ทธ ๊ตต๊ธฐ๋‚˜ ๊ธธ์ด๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ฌผ์ฒด์˜ ์ค‘๋Ÿ‰์ด ์„œ๋กœ ๋‹ค๋ฅผ ์ˆ˜๋„ ์žˆ๋‹ค. ํ•˜ www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 2217๋ฒˆ ๋ฌธ์ œ - ๋กœํ”„ def solution(): arr.sort(reverse=True) # ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ for i in range(n): # 1๋ถ€ํ„ฐ N๊นŒ์ง€ ๊ณฑํ•˜๋Š” ์‹ arr[i] = arr[i] * (i+1) return max(arr) # ๊ณ„์‚ฐํ•œ ๊ฐ’ ์ค‘ ๊ฐ€์žฅ ํฐ ๊ฐ’์„ return n = int(input()) arr = [] for _ in range(n): ..

[๋ฐฑ์ค€] (Python) 5585๋ฒˆ _๊ฑฐ์Šค๋ฆ„๋ˆ

https://www.acmicpc.net/problem/5585 5585๋ฒˆ: ๊ฑฐ์Šค๋ฆ„๋ˆ ํƒ€๋กœ๋Š” ์ž์ฃผ JOI์žกํ™”์ ์—์„œ ๋ฌผ๊ฑด์„ ์‚ฐ๋‹ค. JOI์žกํ™”์ ์—๋Š” ์ž”๋ˆ์œผ๋กœ 500์—”, 100์—”, 50์—”, 10์—”, 5์—”, 1์—”์ด ์ถฉ๋ถ„ํžˆ ์žˆ๊ณ , ์–ธ์ œ๋‚˜ ๊ฑฐ์Šค๋ฆ„๋ˆ ๊ฐœ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ์ ๊ฒŒ ์ž”๋ˆ์„ ์ค€๋‹ค. ํƒ€๋กœ๊ฐ€ JOI์žกํ™”์ ์—์„œ ๋ฌผ๊ฑด์„ ์‚ฌ www.acmicpc.net ํ’€์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ # ๋ฐฑ์ค€ 5585๋ฒˆ ๋ฌธ์ œ - ๊ฑฐ์Šค๋ฆ„๋ˆ n = int(input()) val = 1000 - n # 500, 100, 50, 10, 5, 1 coin = [500, 100, 50, 10, 5, 1] count = 0 for i in coin: count += (val // i) val = val % i print(count) 1. ๊ฑฐ์Šค๋ฆ„๋ˆ์˜ ๊ฐฏ..

[๋ฐฑ์ค€] (Python) 1541๋ฒˆ _์žƒ์–ด๋ฒ„๋ฆฐ ๊ด„ํ˜ธ

https://www.acmicpc.net/problem/1541 1541๋ฒˆ: ์žƒ์–ด๋ฒ„๋ฆฐ ๊ด„ํ˜ธ ์ฒซ์งธ ์ค„์— ์‹์ด ์ฃผ์–ด์ง„๋‹ค. ์‹์€ ‘0’~‘9’, ‘+’, ๊ทธ๋ฆฌ๊ณ  ‘-’๋งŒ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ๊ฐ€์žฅ ์ฒ˜์Œ๊ณผ ๋งˆ์ง€๋ง‰ ๋ฌธ์ž๋Š” ์ˆซ์ž์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฐ์†ํ•ด์„œ ๋‘ ๊ฐœ ์ด์ƒ์˜ ์—ฐ์‚ฐ์ž๊ฐ€ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๊ณ , 5์ž๋ฆฌ๋ณด๋‹ค www.acmicpc.net ํ’€์ด # # ๋ฐฑ์ค€ 1541๋ฒˆ ๋ฌธ์ œ - ์žƒ์–ด๋ฒ„๋ฆฐ ๊ด„ํ˜ธ exp = input().split("-") ans = 0 for i in exp[0].split("+"): ans += int(i) for i in exp[1:]: for j in i.split("+"): ans -= int(j) print(ans) # a = input().split('-') # num = [] # for i in a: ..

[๋ฐฑ์ค€] (Python) 1026๋ฒˆ _๋ณด๋ฌผ

https://www.acmicpc.net/problem/1026 1026๋ฒˆ: ๋ณด๋ฌผ ์ฒซ์งธ ์ค„์— N์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” A์— ์žˆ๋Š” N๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง€๊ณ , ์…‹์งธ ์ค„์—๋Š” B์— ์žˆ๋Š” ์ˆ˜๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. N์€ 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๊ณ , A์™€ B์˜ ๊ฐ ์›์†Œ๋Š” 100๋ณด๋‹ค ์ž‘๊ฑฐ www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 1026๋ฒˆ ๋ฌธ์ œ - ๋ณด๋ฌผ n = int(input()) a = list(map(int, input().split())) b = list(map(int, input().split())) a.sort() b.sort(reverse=True) S = 0 for i in range(n): S += a[i]*b[i] print(S) * S์˜ ์ตœ์†Ÿ๊ฐ’์ด ๋‚˜์˜ค๊ธฐ ์œ„ํ•ด A๋Š” ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•˜๊ณ ..

๋ฐฑ์ค€ 1931๋ฒˆ - ํšŒ์˜์‹ค ๋ฐฐ์ •

https://www.acmicpc.net/problem/1931 1931๋ฒˆ: ํšŒ์˜์‹ค ๋ฐฐ์ • (1,4), (5,7), (8,11), (12,14) ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. www.acmicpc.net ๋ฌธ์ œ ํ’€์ด ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ # ๋ฐฑ์ค€ 1931๋ฒˆ ๋ฌธ์ œ - ํšŒ์˜์‹ค ๋ฐฐ์ • import sys N = int(input()) time = [] for _ in range(N): start, end = map(int, input().split()) time.append([start, end]) time = sorted(time, key=lambda a: a[0]) # ์‹œ์ž‘ ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ time = sorted(time, key=lambda a: a[1]) # ๋๋‚˜๋Š” ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ๋‹ค์‹œ ์˜ค๋ฆ„์ฐจ์ˆœ last = ..

๋ฐฑ์ค€ 11399๋ฒˆ - ATM

https://www.acmicpc.net/problem/11399 11399๋ฒˆ: ATM ์ฒซ์งธ ์ค„์— ์‚ฌ๋žŒ์˜ ์ˆ˜ N(1 ≤ N ≤ 1,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ๊ฐ ์‚ฌ๋žŒ์ด ๋ˆ์„ ์ธ์ถœํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„ Pi๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ Pi ≤ 1,000) www.acmicpc.net ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‚ฌ์šฉ # ๋ฐฑ์ค€ 11399๋ฒˆ ๋ฌธ์ œ - ATM n = int(input()) p = list(map(int, input().split())) num = 0 p.sort() for i in range(n): for j in range(i+1): num += p[j] print(num) 1. ๋ฆฌ์ŠคํŠธ P๋ฅผ ๋ฐ›์•„์„œ ์ •๋ ฌ p[0] = p[0] p[1] = p[0] + p[1] p[2] = p[0] + p[1] + p[2] ..

๋ฐฑ์ค€ 2839๋ฒˆ - ์„คํƒ• ๋ฐฐ๋‹ฌ

https://www.acmicpc.net/problem/2839 2839๋ฒˆ: ์„คํƒ• ๋ฐฐ๋‹ฌ ์ƒ๊ทผ์ด๋Š” ์š”์ฆ˜ ์„คํƒ•๊ณต์žฅ์—์„œ ์„คํƒ•์„ ๋ฐฐ๋‹ฌํ•˜๊ณ  ์žˆ๋‹ค. ์ƒ๊ทผ์ด๋Š” ์ง€๊ธˆ ์‚ฌํƒ•๊ฐ€๊ฒŒ์— ์„คํƒ•์„ ์ •ํ™•ํ•˜๊ฒŒ Nํ‚ฌ๋กœ๊ทธ๋žจ์„ ๋ฐฐ๋‹ฌํ•ด์•ผ ํ•œ๋‹ค. ์„คํƒ•๊ณต์žฅ์—์„œ ๋งŒ๋“œ๋Š” ์„คํƒ•์€ ๋ด‰์ง€์— ๋‹ด๊ฒจ์ ธ ์žˆ๋‹ค. ๋ด‰์ง€๋Š” 3ํ‚ฌ๋กœ๊ทธ www.acmicpc.net ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•œ ๋ฌธ์ œ ํ•ด๊ฒฐ # ๋ฐฑ์ค€ 2839๋ฒˆ ๋ฌธ์ œ - ์„คํƒ•๋ฐฐ๋‹ฌ sugar = int(input()) bag = 0 while sugar >= 0: if sugar % 5 == 0: # 5์˜ ๋ฐฐ์ˆ˜์ด๋ฉด bag += (sugar // 5) # 5๋กœ ๋‚˜๋ˆˆ ๋ชซ์„ ๊ตฌํ•ด์•ผ ์ •์ˆ˜๊ฐ€ ๋จ print(bag) break sugar -= 3 bag += 1 # 5์˜ ๋ฐฐ์ˆ˜๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ ์„คํƒ•-3, ๋ด‰์ง€+1 else: pri..