ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

728x90
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ

https://app.codility.com/programmers/lessons/4-counting_elements/frog_river_one/

๊ฐœ๊ตฌ๋ฆฌ๊ฐ€ ๊ฐ€๊ณ ์ž ํ•˜๋Š” ์œ„์น˜๊ฐ€ X๋ผ๋ฉด, X์— ๋„๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๋ชจ๋“  ๊ตฌ๊ฐ„์„ ๊ฑฐ์ณ์•ผ ํ•œ๋‹ค.

๋ฌธ์ œ ํ’€์ด

์นด์šดํŠธ์™€ ์ฒดํฌ ๋ฆฌ์ŠคํŠธ๋ฅผ ํ™œ์šฉํ•˜์—ฌ์„œ ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ๋‹ค.

์ฝ”๋“œ

def solution(X, A):
    check = [False] * X
    cnt = 0

    for i in range(len(A)):
        if not check[A[i] - 1]:
            check[A[i] - 1] = True
            cnt += 1
            if cnt == X:
                return i
    return -1
  • ์ง€๋‚˜์˜จ ๊ตฌ๊ฐ„์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ฒดํฌ๋ฆฌ์Šคํ‹€ ํ†ตํ•ด ํ™•์ธํ•œ๋‹ค.
  • ์นด์šดํŠธ๋ฅผ ํ™œ์šฉํ•ด ์นด์šดํŠธ ๊ฐ’์ด ๊ฐ€๊ณ ์ž ํ•˜๋Š” ์œ„์น˜์™€ ๊ฐ™์•„์ง€๋ฉด, ์ธ๋ฑ์Šค ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  • ๋ฐ˜๋ณต๋ฌธ์ด ๋๊นŒ์ง€ ์‹คํ–‰๋œ๋‹ค๋ฉด, ๋‹ต์„ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ์ด๋‹ค.
728x90
๋ฐ˜์‘ํ˜•
๋Œ“๊ธ€
๊ธ€ ๋ณด๊ด€ํ•จ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€