์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Python
- fe
- react
- ๋๋ฆผ์ฝ๋ฉ
- ํ์ด์ฌ
- error
- HTML
- ํ๋ก๊ทธ๋๋จธ์ค
- ํ๋ก ํธ์๋
- ๋ฐฑ์ค
- Til
- ์๊ณ ๋ฆฌ์ฆ
- ๊ตญ๋น์ง์
- heapq
- ํฌ๋กค๋ง
- node.js
- ์ฝ๋ฉ์ ํ
- ํ๋ก์ ํธ
- ํ ์ดํ๋ก์ ํธ
- KDT
- ์ฝ๋ฉํ ์คํธ
- ์ฝ๋ฉ
- ๋ ธ๋ง๋์ฝ๋
- ๊ทธ๋ฆฌ๋
- mongodb
- CSS
- javascript
- ๊ฐ๋ฐ
- JS
- ๋ชจ๊ฐ์ฝ
- Today
- Total
๐ฑ โ ๐ณ
[Baekjoon] 11501๋ฒ. ์ฃผ์ - python ๋ณธ๋ฌธ
https://www.acmicpc.net/problem/11501
11501๋ฒ: ์ฃผ์
์ ๋ ฅ์ ์ฒซ ์ค์๋ ํ ์คํธ์ผ์ด์ค ์๋ฅผ ๋ํ๋ด๋ ์์ฐ์ T๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ํ ์คํธ์ผ์ด์ค ๋ณ๋ก ์ฒซ ์ค์๋ ๋ ์ ์๋ฅผ ๋ํ๋ด๋ ์์ฐ์ N(2 โค N โค 1,000,000)์ด ์ฃผ์ด์ง๊ณ , ๋์งธ ์ค์๋ ๋ ๋ณ ์ฃผ๊ฐ๋ฅผ ๋ํ
www.acmicpc.net
์ ๋ต์ฝ๋๋ถํฐ ๊ณต๊ฐ
์ ๋ต์ฝ๋
k = int(input())
for _ in range(k):
n = int(input())
nums = list(map(int, input().split()))
nums.reverse()
max = nums[0]
sum = 0
for i in range(1,n):
if max < nums[i]:
max = nums[i]
continue
sum += max - nums[i]
print(sum)
์ ์ด์ ๋ฐ๋ณต๋ฌธ์ 2๋ฒ์ด์ ๋๋ฆฌ๋ฉด ์๋๋ ๋ฌธ์ ์๋ค
nums๋ฅผ ๋ค์์๋ถํฐ ์ฝ์ผ๋ฉด์ max๋ณด๋ค ํฐ ๊ฐ์ผ ๊ฒฝ์ฐ๋ max๊ฐ์ผ๋ก ๋ฐ๊ฟ์ฃผ๊ณ
max๋ณด๋ค ์์ ๊ฒฝ์ฐ๋ max์์ ์ฐจ์ด๋ฅผ sum์ ๋ํด์ฃผ๋ฉด ๋จ
์ฝ์ง ๊ธฐ๋ก ..
๋ฉ๋ชจ๋ฆฌ ์ด๊ณผ ์ฝ๋
k = int(input())
for _ in range(k):
n = int(input())
nums = list(map(int, input().split()))
tmp = [[] for _ in range(n)]
answer = 0
for i in range(n):
for j in range(i):
if nums[i] - nums[j] > 0:
tmp[j].append(nums[i] - nums[j])
for i in tmp:
if len(i) != 0:
answer += max(i)
print(answer)
์์ ํ ์๊ฐ์ด๊ณผ ๋จ (tmp์ appendํ๋ ๋ฐฉ์ โ ๊ทธ๋๋ง๋ค max๊ฐ์ ๊ตฌํ๋๋ก ์์ )
k = int(input())
for _ in range(k):
n = int(input())
nums = list(map(int, input().split()))
tmp = [0 for _ in range(n)]
answer = 0
for i in range(n):
for j in range(i):
if nums[i] - nums[j] > 0:
tmp[j] = max(tmp[j], nums[i] - nums[j])
print(sum(tmp))
์์ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ์์
์๊ฐ์ด๊ณผ
k = int(input())
for _ in range(k):
n = int(input())
nums = list(map(int, input().split()))
answer = 0
while len(nums) > 0:
m = max(nums)
idx = nums.index(m)
tmp = nums[:idx]
nums = nums[idx+1:]
for i in range(idx):
answer += m - tmp[i]
print(answer)
nums์์ max ๊ฐ์ ์ฐพ๊ณ , tmp ๋ฆฌ์คํธ์ nums์ 0๋ถํฐ max๊น์ง ๋ฃ์ด๋
nums๋ max ์ดํ์ ๊ฐ๋ค์ ๋ฃ์ด๋๊ณ ๋ฐ๋ณต
์)
nums = [1, 2, 100, 90, 1, 2] ์ผ ๋,
[1, 2, 100
/, 90
/, 1, 2]
์ด๋ ๊ฒ ๋๋ ํ max๊ฐ ์๋ ๊ฐ๋ค์ max์์ ๋บ ๊ฐ์ answer์ ๋ํด์ค
์๊ฐ์ด๊ณผ
k = int(input())
for _ in range(k):
n = int(input())
nums = list(map(int, input().split()))
answer = 0
end = 0
start = -1
while end != n-1:
m = max(nums[start+1:])
end = nums.index(m)
for i in range(start, end):
answer += m - nums[i]
start = end
print(answer)
์ ์ฝ๋์์ nums list๋ฅผ ๊ณ์ ๋ง๋ค์ง ์๊ณ , start์ end ๋ง๋ค์ด์ ๋น๊ต
์๊ฐ์ด๊ณผ
k = int(input())
for _ in range(k):
n = int(input())
nums = list(map(int, input().split()))
answer = 0
for i in range(n):
stock = []
for j in range(i+1,n):
if nums[i] < nums[j]:
stock.append(nums[j]-nums[i])
if len(stock) != 0:
answer += max(stock)
print(answer)
'Algorithms' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์ด์ค์ฐ์ ์์ํ - python (1) | 2023.11.09 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ - python (1) | 2023.10.30 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ ํ๋ฒํธ ๋ชฉ๋ก - python (0) | 2023.10.30 |
[Baekjoon] 4963. ์ฌ์ ๊ฐ์ - python (0) | 2023.10.27 |
[Baekjoon] 1926. ๊ทธ๋ฆผ - python (0) | 2023.10.03 |