๐ธ ๋ณผ๋ง๊ณต ๊ณ ๋ฅด๊ธฐ
A,B ๋ ์ฌ๋์ด ๋ณผ๋ง๊ณต์ ๊ณ ๋ฅผ ์ ์๋ ์กฐํฉ์ ์๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค.
- ๋ณผ๋ง๊ณต ์๋ N์ผ๋ก ์ต๋ 1,000
- ๋ณผ๋ง๊ณต ๋ฌด๊ฒ๋ M์ผ๋ก ์ต๋ 10
- ์๋ก ๊ฐ์ ๋ฌด๊ฒ์ ๋ณผ๋ง๊ณต์ ๊ณ ๋ฅผ ์ ์์
- ๊ฐ์ ๋ฌด๊ฒ์ ๊ณต์ด ์ฌ๋ฌ ๊ฐ ์กด์ฌํ ์ ์์ง๋ง, ๋ค๋ฅธ ๊ณต์ผ๋ก ๊ฐ์ฃผ
๐ ์์
5 3
1 3 2 3 2
โ 8๊ฐ์ง
8 5
1 5 4 3 2 4 5 2
โ 25๊ฐ์ง
๐ ์ด๊ธฐ ์ ๊ทผ ๋ฐฉ๋ฒ
A๊ฐ ์ฒซ ๋ฒ์งธ ๊ณต์ ๊ณจ๋๋ค๊ณ ๊ฐ์ ํ๋ค.
- 1์ ๊ณจ๋์ผ๋ฏ๋ก, ๋๋จธ์ง ๊ณต ์ค 1์ด ์๋ ๊ฒ์ ๊ฐ์๋ฅผ ๊ตฌํ๋ค.
- ๊ทธ ๋ค 3์ ๊ณจ๋์ ๊ฒฝ์ฐ, ๋๋จธ์ง ๊ณต ์ค 3์ด ์๋ ๊ฒ์ ๊ฐ์๋ฅผ ๊ตฌํ๋ค.
- ...
์์ ๋ฐฉ์์ผ๋ก ์ฒซ ๋ฒ์งธ ๊ณต, ๋ ๋ฒ์งธ ๊ณต, ์ธ ๋ฒ์งธ ๊ณต์ ๊ณจ๋์ ๋๋ง๋ค
๋ค์ ๊ณต ์ค ๋ฌด๊ฒ๊ฐ ๋ค๋ฅธ ๊ณต์ ๊ฐ์๋ฅผ ํฉํด๊ฐ๋ฉฐ ์ต์ข ๋ต์ ๊ตฌํ์๋ค.
๐ ๊ต์ฌ ์ ๊ทผ ๋ฐฉ๋ฒ
๊ต์ฌ์ ๋ฐฉ์์ ๋ชจ๋ ๋ณผ๋ง ๊ณต์ ๊ฐ์๋ฅผ ์นด์ดํธํ ๋ค ํ์ด๋ฅผ ์์ํ์๋ค.
๋ฐ๋ผ์ ํน์ ๊ณต์ ์ ํํ์ ์, ํด๋น ๊ณต๊ณผ ๋ค๋ฅธ ๋ฌด๊ฒ์ ๊ณต ์ค ์ ํํ ์ ์๋ ๊ฒฝ์ฐ์ ์๋ฅผ ํฉํด๋๊ฐ๋ค.
๐ ์์ค ์ฝ๋
# ๊ทธ๋ฆฌ๋ ์ฌํ ๋ฌธ์ ํ์ด: ๋ณผ๋ง๊ณต ๊ณ ๋ฅด๊ธฐ
# ์ต๋๊ฐ n = 1000, m = 10
# ๋ฌธ์ ํ์ด
def solution(data):
length = len(data)
number = []
sum = 0
for i in range(length):
cnt = 0
for j in range(i, length):
if data[i] != data[j]:
cnt += 1
number.append(cnt)
for num in number:
print(num)
sum += num
print(sum)
# ๊ต์ฌ ํ์ด
def answer(data, n,m):
# 1๋ถํฐ 10๊น์ง์ ๋ฌด๊ฒ๋ฅผ ๋ด์ ์ ์๋ ๋ฆฌ์คํธ
array = [0]*11
for x in data:
array[x] += 1
result = 0
# 1๋ถํฐ m๊น์ง์ ๊ฐ ๋ฌด๊ฒ์ ๋ํ์ฌ ์ฒ๋ฆฌ
for i in range(1, m+1):
# ๊ฐ ๋ฌด๊ฒ์ ํด๋นํ๋ ๋ณผ๋ง๊ณต์ ๊ฐ์ ์นด์ดํธ
n -= array[i] # ๋ฌด๊ฒ๊ฐ i์ธ ๋ณผ๋ง๊ณต์ ๊ฐ์(A๊ฐ ์ ํํ ์ ์๋ ๊ฐ์) ์ ์ธ
result += array[i] * n # B๊ฐ ์ ํํ๋ ๊ฒฝ์ฐ์ ์์ ๊ณฑํ๊ธฐ
print(result)
n, m = map(int, input().split())
data = list(map(int, input().split()))
solution(data)
์ด๊ฒ์ด ์ฝ๋ฉํ ์คํธ๋ค - ๋๋๋น
'์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค - H-index (0) | 2021.06.17 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค - ๊ฐ์ฅ ํฐ ์ (์ ๋ ฌ) (3) | 2021.06.16 |
๊ทธ๋ฆฌ๋ ๋ฌธ์ ํ์ด - ๋ง๋ค ์ ์๋ ๊ธ์ก (0) | 2021.06.12 |
๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ ๊ฐ๋ ์ด ์ ๋ฆฌ (0) | 2021.06.01 |
์ฝ๋ฉํ ์คํธ ๋ฌธ์ ํ์ด ์ , ์/๊ณต๊ฐ ๋ณต์ก๋ ์ดํดํ๊ธฐ (0) | 2021.05.31 |