๐Ÿค– 157

๋ฐฑ์ค€ 10162: ์ „์ž๋ ˆ์ธ์ง€ (Python)

import sys t = int(sys.stdin.readline()) time = [300, 60, 10] cnt = [] for i in time: cnt.append(t // i) t %= i if t == 0: print(cnt[0], cnt[1], cnt[2]) else: print(-1) ๊ฑฐ์Šค๋ฆ„๋ˆ ๋ฌธ์ œ๋ž‘ ๊ฑฐ์˜ ๋˜‘๊ฐ™๋‹ค ๋‹ค๋ฅธ๊ฒŒ ์žˆ๋‹ค๋ฉด ์‹œ๊ฐ„์ด ๋”ฑ ์•ˆ ๋งž์œผ๋ฉด -1 ์ถœ๋ ฅํ•œ๋‹ค๋Š” ๊ฒƒ๊ณผ ์ด ํšŸ์ˆ˜๊ฐ€ ์•„๋‹Œ ๊ฐ๊ฐ์˜ ํšŸ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ! ๊ทธ๋ž˜์„œ cnt๋„ ๋ฆฌ์ŠคํŠธ ๋งŒ๋“ค์–ด์ฃผ๊ณ  ๊ฐ๊ฐ for๋ฌธ ๋Œ ๋•Œ๋งˆ๋‹ค ํšŸ์ˆ˜๋ฅผ cnt์— ์ถ”๊ฐ€ํ–ˆ๋‹ค ์ด๊ฑด ๊ทธ๋ƒฅ ์‹ ๊ธฐํ•ด์„œ...ใ…Ž ์„œ๋ธŒํƒœ์Šคํฌ ๋ฌธ์ œ ์ฒ˜์Œ ํ’€์–ด๋ดค๋Š”๋ฐ ๋งž์•˜์Šต๋‹ˆ๋‹ค!!๊ฐ€ ์•„๋‹Œ ์ ์ˆ˜๊ฐ€ ๋‚˜์˜จ๋‹ค

๋ฐฑ์ค€ 2217: ๋กœํ”„ (Python)

https://www.acmicpc.net/problem/2217 2217๋ฒˆ: ๋กœํ”„ N(1 ≤ N ≤ 100,000)๊ฐœ์˜ ๋กœํ”„๊ฐ€ ์žˆ๋‹ค. ์ด ๋กœํ”„๋ฅผ ์ด์šฉํ•˜์—ฌ ์ด๋Ÿฐ ์ €๋Ÿฐ ๋ฌผ์ฒด๋ฅผ ๋“ค์–ด์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋‹ค. ๊ฐ๊ฐ์˜ ๋กœํ”„๋Š” ๊ทธ ๊ตต๊ธฐ๋‚˜ ๊ธธ์ด๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ฌผ์ฒด์˜ ์ค‘๋Ÿ‰์ด ์„œ๋กœ ๋‹ค๋ฅผ ์ˆ˜๋„ ์žˆ๋‹ค. ํ•˜ www.acmicpc.net ์ฒ˜์Œ์—” ๋ฌด์กฐ๊ฑด n๊ฐœ์˜ ๋กœํ”„๋ฅผ ์จ์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ด์„œ ๋กœํ”„์˜ ์ตœ์†Ÿ๊ฐ’ * ๋กœํ”„์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ–ˆ๋‹ค - ํ‹€๋ฆผ n = int(input()) m = 10000 for i in range(n): rope = int(input()) if rope < m: m = rope print(m * n) ๋‹ค์‹œ ํ‘ผ ์ฝ”๋“œ import sys n = int(sys.stdin.readline()) rope = [] re..

๋ฐฑ์ค€ 5585: ๊ฑฐ์Šค๋ฆ„๋ˆ (Python)

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

๋ฐฑ์ค€ 1026: ๋ณด๋ฌผ (Python)

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

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

https://www.acmicpc.net/problem/1541 1541๋ฒˆ: ์žƒ์–ด๋ฒ„๋ฆฐ ๊ด„ํ˜ธ ์ฒซ์งธ ์ค„์— ์‹์ด ์ฃผ์–ด์ง„๋‹ค. ์‹์€ ‘0’~‘9’, ‘+’, ๊ทธ๋ฆฌ๊ณ  ‘-’๋งŒ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ๊ฐ€์žฅ ์ฒ˜์Œ๊ณผ ๋งˆ์ง€๋ง‰ ๋ฌธ์ž๋Š” ์ˆซ์ž์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฐ์†ํ•ด์„œ ๋‘ ๊ฐœ ์ด์ƒ์˜ ์—ฐ์‚ฐ์ž๊ฐ€ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๊ณ , 5์ž๋ฆฌ๋ณด๋‹ค www.acmicpc.net s = input() s = s.split('-') s2 = [] res = 0 if s[0].isdigit(): res += int(s[0]) else: s2 = s[0].split('+') for i in s2: res += int(i) del s[0] for i in s: if i.isdigit(): res -= int(i) else: s2.clear() s2 = list(map(int..

๋ฐฑ์ค€ 1931: ํšŒ์˜์‹ค ๋ฐฐ์ • (Python)

https://www.acmicpc.net/problem/1931 1931๋ฒˆ: ํšŒ์˜์‹ค ๋ฐฐ์ • (1,4), (5,7), (8,11), (12,14) ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. www.acmicpc.net n = int(input()) time = [] for i in range(n): start, end = map(int, input().split()) time.append((end, start)) time.sort() cnt = 0 end = 0 for i in range(n): if time[i][1] >= end: cnt += 1 end = time[i][0] print(cnt) 1. ํšŒ์˜์‹œ๊ฐ„์„ ๋๋‚˜๋Š” ์‹œ๊ฐ„ ์ˆœ - ์‹œ์ž‘ ์‹œ๊ฐ„ ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ํ›„ 2. ๋ฆฌ์ŠคํŠธ(์‹œ๊ฐ„) ๋‚ด์—์„œ ์ฐจ๋ก€๋Œ€๋กœ ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ฉด์„œ ์‹œ์ž‘ ์‹œ๊ฐ„์ด ..

๋ฐฑ์ค€ 11047: ๋™์ „ 0 (Python)

https://www.acmicpc.net/problem/11047 11047๋ฒˆ: ๋™์ „ 0 ์ฒซ์งธ ์ค„์— N๊ณผ K๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๋™์ „์˜ ๊ฐ€์น˜ Ai๊ฐ€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2์ธ ๊ฒฝ์šฐ์— Ai๋Š” Ai-1์˜ ๋ฐฐ์ˆ˜) www.acmicpc.net n, k = map(int, input().split()) a = [] cnt = 0 for i in range(n): a.insert(0, int(input())) for i in a: cnt += k // i k %= i if k == 0: break print(cnt) 1. ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ๋†’์€ ์ˆซ์ž๋กœ ๋‚˜๋ˆ” -> cnt 2...

๋ฐฑ์ค€ 11399: ATM (Python)

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

๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ (Greedy Algorithm)

๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜(ํƒ์š•๋ฒ•): ํ˜„์žฌ ์ƒํ™ฉ์—์„œ ์ง€๊ธˆ ๋‹น์žฅ ์ข‹์€ ๊ฒƒ๋งŒ ๊ณ ๋ฅด๋Š” ๋ฐฉ๋ฒ• - ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ์—์„œ๋Š” ๋ฌธ์ œ ํ’€์ด๋ฅผ ์œ„ํ•œ ์ตœ์†Œํ•œ์˜ ์•„์ด๋””์–ด๋ฅผ ๋– ์˜ฌ๋ฆฌ๊ณ  ์ด๊ฒƒ์ด ์ •๋‹นํ•œ์ง€ ๊ฒ€ํ† ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ex) ๊ฑฐ์Šค๋ฆ„๋ˆ ๋ฌธ์ œ - ๊ฐ€์žฅ ํฐ ํ™”ํ ๋‹จ์œ„๋ถ€ํ„ฐ ๋ˆ์„ ๊ฑฐ์Šฌ๋Ÿฌ ์คŒ ใ„ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋™์ „ ์ค‘์—์„œ ํฐ ๋‹จ์œ„๊ฐ€ ํ•ญ์ƒ ์ž‘์€ ๋‹จ์œ„์˜ ๋ฐฐ์ˆ˜์ด๋ฏ€๋กœ ์ž‘์€ ๋‹จ์œ„๋“ค์„ ์ข…ํ•ฉํ•ด ๋‹ค๋ฅธ ํ•ด๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์—†๋‹ค! n = int(input()) cnt = 0 coin = [500, 100, 50, 10] for i in coin:# ์‹œ๊ฐ„ ๋ณต์žก๋„ O(K)