ํฐ์คํ ๋ฆฌ ๋ทฐ
๐จ๐ป ์ฝ๋ฉํ
์คํธ/Codility
Lesson 4: Counter Elements → Max Counters
dirmathfl 2020. 6. 6. 21:36728x90
๋ฐ์ํ
๋ฌธ์
https://app.codility.com/programmers/lessons/4-counting_elements/max_counters/
๋ฆฌ์คํธ์ ๊ฐ์ด N์ดํ ์ผ ๊ฒฝ์ฐ์๋, ํด๋นํ๋ ์ธ๋ฑ์ค์ ๊ฐ์ 1 ์ฆ๊ฐ์ํค๊ณ N๋ณด๋ค ํฐ ๊ฐ์ธ ๊ฒฝ์ฐ์๋ ๋ชจ๋ ์ธ๋ฑ์ค ๊ฐ์ ํ์ฌ ๊ฐ์ max๋ก ๋ณ๊ฒฝํ๋ค.
๋ฌธ์ ํ์ด
๊ฐ ์ธ๋ฑ์ค์ ๊ฐ์ ์ถ๊ฐํ๋ค๊ฐ, N๋ณด๋ค ํฐ ๊ฐ์ด ๋ฐ์ํ ๊ฒฝ์ฐ
answer = max(answer) * N
๋ก ์ฒ๋ฆฌํ์๋๋ ํจ์จ์ฑ์ ํต๊ณผํ์ง ๋ชปํ์๋ค.
def solution(N, A):
answer = [0] * N
for idx in A:
print(answer)
if idx > N:
answer = [max(answer)] * N
else:
answer[idx - 1] += 1
return answer
์ฝ๋
def solution(N, A):
answer = [0] * N
next_max_cnt = max_cnt = 0
for idx in A:
if idx <= N:
current = answer[idx - 1] = max(answer[idx - 1] + 1, max_cnt + 1)
next_max_cnt = max(current, next_max_cnt)
else:
max_cnt = next_max_cnt
return [cnt if cnt > max_cnt else max_cnt for cnt in answer]
- ์์ ์ฝ๋์ ๋ฌ๋ฆฌ max ๊ฐ์ ์ฐพ์ผ๋ฉด ์ฆ๊ฐ์ ์ผ๋ก ๋ฐ์ํ์ง ์๋๋ค.
- ๋ชจ๋ ๊ณผ์ ์ด ๋๋ ํ์ cnt ๊ฐ๊ณผ max_cnt ๊ฐ์ ๋น๊ตํ์ฌ ์ฒ๋ฆฌํ๋ฉด ํจ์จ์ฑ์ ๋์ผ ์ ์๋ค.
728x90
๋ฐ์ํ
'๐จโ๐ป ์ฝ๋ฉํ ์คํธ > Codility' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Lesson 4: Counting Elements โ Perm Check (0) | 2020.06.06 |
---|---|
Lesson 4: Counter Elements โ Missing Integer (0) | 2020.06.06 |
Lesson 4: Counting Elements โ Frog River One (0) | 2020.06.06 |
Lesson 3: Complexity โ Tape Equilibrium (0) | 2020.06.06 |
Lesson 3: Time Complexity โ Perm Missing Elem (0) | 2020.06.06 |
๋๊ธ
๊ธ ๋ณด๊ดํจ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ