์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ์ด๋ถํ์
- ์ค๋ฒ3
- ๋ชจ๋ํ
- modify
- ์๊ณ ๋ฆฌ์ฆ
- ๋๋น์ฐ์ ํ์
- qas
- ์ค๋ฒ2
- ์คํธ๋ญ์ฒ
- Function Module
- Import
- ์๋ฐฉํฅํ์
- ABAP
- PRD
- call function
- t์ฝ๋
- select
- abap dictionary
- screen
- screen program
- Internal Table
- subscreen
- SAP
- structure
- tasknumber
- dev
- Export
- ๋จ๋ฐฉํฅํ์
- ๋ฐฑ์ค
- ๊น์ด์ฐ์ ํ์
- Today
- Total
CS Studentโs SAP&Tech Journey๐ซ
[๋ฐฑ์ค] 2108๋ฒ: ํต๊ณํ ๋ณธ๋ฌธ
[๋ฐฑ์ค] 2108๋ฒ: ํต๊ณํ
์ธํฌ๋งํฑ 2024. 11. 14. 15:351. ๋ฐฑ์ค 2108๋ฒ ํต๊ณํ

2. ์ค๋์ ํ๊ณ
0. ๋ฌธ์ ๋ถ์
- ์ฐ์ ํ๊ท : N๊ฐ์ ์๋ค์ ํฉ์ N์ผ๋ก ๋๋ ๊ฐ
- ์ค์๊ฐ : N๊ฐ์ ์๋ค์ ์ฆ๊ฐํ๋ ์์๋ก ๋์ดํ์ ๊ฒฝ์ฐ ๊ทธ ์ค์์ ์์นํ๋ ๊ฐ
- ์ต๋น๊ฐ : N๊ฐ์ ์๋ค ์ค ๊ฐ์ฅ ๋ง์ด ๋ํ๋๋ ๊ฐ
- ๋ฒ์ : N๊ฐ์ ์๋ค ์ค ์ต๋๊ฐ๊ณผ ์ต์๊ฐ์ ์ฐจ์ด
1. ์ ๋ ฅ
์ฒซ์งธ ์ค์ ์์ ๊ฐ์ N(1 โค N โค 500,000)์ด ์ฃผ์ด์ง๋ค. ๋จ, N์ ํ์์ด๋ค.
2. ์ถ๋ ฅ
์ถ๋ ฅ ๋ถ๋ถ์์ ์ฃผ์ํด์ ๋ด์ผ ํ ์ ์ ์ฐ์ ํ๊ท ์ ์ถ๋ ฅํ ๋๋ ์์์ ์ดํ ์ฒซ์งธ ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผํ์ฌ ์ ์๊ฐ์ ์ถ๋ ฅํด์ผ ํ๋ค. ์ต๋น๊ฐ์ ์ถ๋ ฅํ ๋๋ ์ต๋น๊ฐ์ด ์ฌ๋ฌ ๊ฐ ์์ ๋ ์ต๋น๊ฐ ์ค ๋ ๋ฒ์งธ๋ก ์์ ๊ฐ ( = 3, 4๊ฐ ์์ผ๋ฉด ๋๋ฒ์งธ๊ฐ ์์ ๊ฐ์ 4์ด๋ค)์ ์ถ๋ ฅํ๋ค.
3. ๋ฌธ์ ์ ๊ทผ
1. ์ ๋ ฅ ๊ฐ์ nlist์ ๋ด๋๋ค.
2. ๊ฐ๊ฐ ํต๊ณ๊ฐ์ ๊ณ์ฐํ๋ค.
1) ์ฐ์ ํ๊ท : nlist์ ํฉ // N
2) ์ค์๊ฐ : ๋ฌด์กฐ๊ฑด ํ์๋ก N์ ์ฃผ์ด์ง๋ฏ๋ก ๊ฐ์ด๋ฐ ๊ฐ์ด ์ค์๊ฐ. nlist [N//2]
3) ์ต๋น๊ฐ : ํด์ ๋์ ๋๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ค. ๋์ ๋๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ํค๋ฅผ ์์ฑํ๊ณ ๊ฐ์๋ฅผ ์ธ์ด์ค๋ค.
๋์ ๋๋ฆฌ ์์ฑ ํ, sorted๋ฅผ ์ด์ฉํด ์ ๋ ฌํ๋ค.
lambda ์ธ์ i) ์ต๋น๊ฐ์ด๋ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ ii) ์ฌ๋ฌ๊ฐ ์์ ๋, ๋๋ฒ์งธ๋ก ์์ ๊ฐ์ ๊ตฌํ๊ธฐ ์ํด ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
4) ๋ฒ์ : nlist์ ์ต๋๊ฐ๊ณผ ์ต์๊ฐ์ ์ฐจ
โ ์๊ฐ์ด๊ณผ
์๊ฐ์ด๊ณผ๋ฅผ ์ค์ด๋ ๊ฐ์ฅ ์ค์ํ ๊ธฐ๋ณธ ์ค์ ์ธ๋ฐ, ๋งค๋ฒ ๊น๋จน๋๋ค. ๊ผญ ๊ธฐ์ตํ์!
import sys
input = sys.stdin.readline
โ ์์์ ๋ฐ์ฌ๋ฆผ
t = f"{t:.0f}" #์์์ ์ฒซ์งธ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผ
t = f"{t:.1f}" #์์์ ๋์งธ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผ
โ ํด์ ๋์ ๋๋ฆฌ ํค, ๊ฐ ์์ฑํ๊ธฐ
# ํด์
d = dict()
# ๋์
๋๋ฆฌ ์์ฑ
for i in nlist:
if i in d:
d[i]= d[i]+1
else:
d[i]=1
# ๋์
๋๋ฆฌ
d = {1: 4, 2: 5, 3:1, 4:8}
d.keys = [1,2,3,4]
d.values = [4,5,1,8]
d.items = [(1,4), (2,5), (3,1), (4,8)]
โ lambda ํจ์
d.items() = [(1,4), (2,5), (3,1), (4,8)]
sorted(d.items(), key=lambda x:(-x[1],x[0]))
# x:(-x[1],x[0])์ด๋ฉด -x[1] ์ ์ฉ ํ ๊ทธ ๊ฒฐ๊ณผ์ x[0] ์ ์ฉํด์ผํจ
# 1) lambda ์ธ์ x[1]: x[1]๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ / -x[1]: x[1]๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์
# 2) lambda ์ธ์ x[0]: x[0]๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์
3. ์ ๋ต ์ฝ๋
import sys
input = sys.stdin.readline
a = int(input())
nlist = []
for i in range(a):
n = float(input())
nlist.append(n)
# ์ฐ์ ํ๊ท
t = (sum(nlist)/a)
t = f"{t:.0f}"
print(int(t))
# ์ค์๊ฐ
nlist.sort()
print(int(nlist[a//2]))
# ์ต๋น๊ฐ
d = dict()
for i in nlist:
if i in d:
d[i]= d[i]+1
else:
d[i]=1
newd = sorted(d.items(), key=lambda x:(-x[1],x[0]))
if len(newd)>1 and newd[0][1]== newd[1][1]: # ์ต๋น๊ฐ์ด ์ฌ๋ฌ๊ฐ์ธ ๊ฒฝ์ฐ
print(int(newd[1][0]))
else: # ์ต๋น๊ฐ์ด ํ๋์ธ ๊ฒฝ์ฐ
print(int(newd[0][0]))
# ๋ฒ์
print(int(max(nlist)-min(nlist)))

'์๊ณ ๋ฆฌ์ฆ > ๋ฐฑ์ค | ํ๋ก๊ทธ๋๋จธ์ค | ์ํํฐ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 1874๋ฒ: ์คํ ์์ด (0) | 2024.11.11 |
---|---|
[๋ฐฑ์ค] 1436๋ฒ: ์ํ๊ฐ๋ ์ (1) | 2024.11.09 |
[๋ฐฑ์ค] 24444๋ฒ: ๋๋น ์ฐ์ ํ์1 / ๋๋น์ฐ์ ํ์ BFS (0) | 2024.11.05 |
[ํ์ด์ฌ] 24479๋ฒ: ๊น์ด ์ฐ์ ํ์1 / ๊น์ด์ฐ์ ํ์ DFS (0) | 2024.10.31 |
[ํ์ด์ฌ] 11561๋ฒ: ์ง๊ฒ๋ค๋ฆฌ / ์ด๋ถํ์ (1) | 2024.10.30 |