ํฐ์คํ ๋ฆฌ ๋ทฐ
๋ฌธ์
https://app.codility.com/programmers/lessons/5-prefix_sums/passing_cars/
๋ฆฌ์คํธ ๋ด์ ์๋์ฐจ ๋ฐฉํฅ(east: 0 , west :1)์ด ์ฃผ์ด์ง ๋, ๊ฐ ๋ฐฉํฅ์ด ์์ ์ด๋ฃจ๋ ํ์๋ฅผ ์ฐพ๋ ๋ฌธ์ ์ด๋ค. ๋ง์ฝ ์ธ๋ฑ์ค 3์์ east๋ก ๊ฐ๋ ์๋์ฐจ๊ฐ ์๋ค๋ฉด, ์ธ๋ฑ์ค 3 ์ดํ๋ก์ ์๋์ฐจ๋ค๋ง ์์ ์ด๋ฃจ๋์ง ํ์ธํ๊ณ , ์ ๋ถ๋ถ์ ํ์ธํ์ง ์์๋ ๋๋ค.
๋ฌธ์ ํ์ด
๊ทธ๋ฆผ 1์ ๋ฌธ์ ์ ๊ธฐ๋ณธ ์์ ์์ ๊ฐ์ ๋์ถํ๋ ๊ณผ์ ์ด๋ค.
0 (east)๋ก ๊ฐ๋ ์๋์ฐจ์ 1 (west)๋ก ๊ฐ๋ ์๋์ฐจ๋ ์ง์ ์ด๋ฃฐ ์ ์๋ค. ๋ฐ๋ผ์ ๋ฆฌ์คํธ์ ๊ฐ ๋ฐฉํฅ์ ๋ฐ๋ผ ์ง์ ์ด๋ฃจ๋์ง ํ์ธํ๋ ๊ณผ์ ์ 0์ ํ์์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ค.
๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ธ๋ฑ์ค 2์์ 0์ด ๋ค์ ๋ฑ์ฅํ๋ฏ๋ก, ์ด์ ์ ๊ฐ๊ณผ๋ ์์ ์ด๋ฃจ์ง ์๊ณ 0์ด ๋ฐ์ํ ์ดํ์ ๊ฐ๊ณผ ์์ ์ด๋ฃจ๋์ง ํ์ธํ๋ ๊ณผ์ ์ด ํ์ํ๋ค. ์ฒ์์ ์๊ฐํ์ ๋๋ 0์ ์์น๋ฅผ ์ฐพ๊ณ 0์ ์์น ์ดํ์ ๊ฐ๋ค์ ์์ฐจ์ ์ผ๋ก ํ์ํ๋ฉด ๋์ง ์์๊น ์๊ฐํ์๋ค. ํ์ง๋ง 0์ด ๋ฑ์ฅํ๋ฉด ๊ทธ๋ฆผ 1๊ณผ ๊ฐ์ด ์นด์ดํธ๊ฐ ์ค๋ณต๋๋ฏ๋ก 0์ ํ์์ ๋ฐ๋ผ ์นด์ดํธ ์๋ฅผ ์ฆ๊ฐ์์ผ์ฃผ๋ฉด ํ๋ฒ์ ํ์์ผ๋ก ๋ชจ๋ ์์ ์ฐพ์ ์ ์๋ค.
์ฝ๋
EAST = 0
WEST = 1
def solution(A):
answer = 0
cnt = 0
for dir in A:
if dir == EAST:
cnt += 1
else:
answer += cnt
if answer > 1000000000:
return -1
return answer
'๐จโ๐ป ์ฝ๋ฉํ ์คํธ > Codility' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Lesson 6: Sorting โ Max Product Of Three (0) | 2020.06.08 |
---|---|
Lesson 6: Sorting โ Distinct (0) | 2020.06.08 |
Lesson 5: Prefix Sums โ Min Avg Two Slice (0) | 2020.06.08 |
Lesson 5: Prefix Sums โ Genomic Range Query (0) | 2020.06.07 |
Lesson 5: Prefix Sums โ Count Div (0) | 2020.06.07 |