[Python ์ฝํ ์ ๋ฌธ] 2. (๋ฌธ์ 3๋ฒ) ์ฐ์๋ '1'์ ๊ธธ์ด
by Hi.Claire๋ฐ์ํ
๐ฅ๏ธ ์ ๋ฌธ์๋ฅผ ์ํ ์ฝ๋ฉํ ์คํธ ํต์ฌ - Python (๊นํ์, ์ธํ๋ฐ)
์น์ 2. ๋ฐฐ์ด, ์ฐ๊ฒฐ๋ฆฌ์คํธ, deque
(๋ฌธ์ 3๋ฒ) ์ฐ์๋ '1'์ ๊ธธ์ด
๋งค๊ฐ๋ณ์ nums์ 0๊ณผ 1๋ก ๋ ์์ด์ด ์ฃผ์ด์ง๋ฉด 1์ด ์ฐ์๋ ๋ถ๋ถ์์ด ์ค ๊ฐ์ฅ ๊ธด ๋ถ๋ถ์์ด์ ๊ธธ์ด๋ฅผ ๋ฐํํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.
์ ์ถ๋ ฅ ์
nums | answer |
[1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1] | 5 |
[0, 0, 1, 0, 1, 0, 0] | 1 |
[1, 1, 1, 1, 1] | 5 |
[1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1] | 3 |
์ ํ์ฌํญ
- nums์ ๊ธธ์ด : 3 <= n <= 100,000
ํ์ด
๋ชจ๋ฅธ๋ค.
์ ๋ต ํ์ด
๋ถ์
์ฒซ ๋ฒ์งธ ์ ํ์ฌํญ์์ ์ ๋ ฅํฌ๊ธฐ๊ฐ ์ต๋ 100,000๊น์ง ๋ค์ด์ค๋ฏ๋ก ํจ์จ์ฑ์ ๋ฐ์ง๋ ๋ฌธ์ ๋ค.
๋ฐฐ์ด์ ์์ฐจํ์ํ๋ฉฐ ํ๋ฉด ๋๋ฏ๋ก ์๊ฐ๋ณต์ก๋๋ O(n)์ด๋ค.
ํ์ด
def solution(nums):
answer = 0
maxLength = 0
for x in nums:
if x == 1:
maxLength += 1
else:
# ๊ธฐ์กด๊น์ง์ ์ต๋๊ธธ์ด์ ํ์ฌ ์ฐ์๋ ์ต๋๊ธธ์ด ์ค ๋ ํฐ ๊ฐ์ ์ ์ฅํ๋ค.
answer = max(answer, maxLength)
# 0์ ๋ง๋ ์ฐ์๋ 1์ด ๋๋ฌ์ผ๋ฏ๋ก maxLength๋ฅผ ๋ค์ ์ด๊ธฐํํ๋ค.
maxLength = 0
# ๋ฐฐ์ด์ ๋งจ ๋ง์ง๋ง์ ์ฐ์๋ 1์ด ์์ ๊ฒฝ์ฐ ์ต๋๊ธธ์ด๊ฐ ๋ฐ์๋์ง ์์์ผ๋ฏ๋ก ํ ๋ฒ ๋ ์ต๋๊ธธ์ด๋ฅผ ๋น๊ตํ์ฌ ๋ ํฐ ๊ฐ์ ์ ์ฅํ๋ค.
answer = max(answer, maxLength)
return answer;
print(solution([1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1]));
print(solution([0, 0, 1, 0, 1, 0, 0]));
print(solution([1, 1, 1, 1, 1]));
print(solution([1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1]));
5
1
5
3
๋ฐ์ํ
'๐ ์ฝ๋ฉํ ์คํธ > ์ ๋ฌธ์๋ฅผ ์ํ ์ฝ๋ฉํ ์คํธ ํต์ฌ - Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python ์ฝํ ์ ๋ฌธ] 2. (๋ฌธ์ 5๋ฒ) ์ค๋ณต ์ ๊ฑฐ (0) | 2024.05.29 |
---|---|
[Python ์ฝํ ์ ๋ฌธ] 2. (๋ฌธ์ 4๋ฒ) ์์ด์ ํ์ (0) | 2024.05.21 |
[Python ์ฝํ ์ ๋ฌธ] 2. (๋ฌธ์ 2๋ฒ) ํฉ๊ฒฉ์ (0) | 2024.05.16 |
[Python ์ฝํ ์ ๋ฌธ] 2. (๋ฌธ์ 1๋ฒ) ์ต์๊ฐ์ ์์น (0) | 2024.05.15 |
[Python ์ฝํ ์ ๋ฌธ] 2. ๋ฐฐ์ด, ์ฐ๊ฒฐ๋ฆฌ์คํธ, deque (2) | 2024.05.12 |
๋ธ๋ก๊ทธ์ ์ ๋ณด
Claire's Study Note
Hi.Claire