๋ฐฑ์ค 2891 : ์นด์ฝ๊ณผ ๊ฐํ
์ฝ๋
N, S, R = map(int, input().split())
broken = []
have = []
if(S > 0) : broken = list(map(int, input().split()))
if(R > 0) : have = list(map(int, input().split()))
arr = [1]*N
for i in broken :
arr[i-1] = 0
for i in have :
t = i-1
if(arr[t]==0) : arr[t]=1
else :
if(t-1 >= 0 and arr[t-1]==0) :
arr[t-1] = 1
continue
elif(t+1 < N and arr[t+1]==0) :
arr[t+1] = 1
ans = 0
for team in arr :
if(team == 0) :
ans += 1
print(ans)
์ฝ๋๋ฆฌ๋ทฐ
์งง๊ฒ ์ ํผ ๋ธ๋ก๊ทธ ๊ธ์ด ์์ด์ ํด๋น ๊ธ์ ๊ณต์ ํฉ๋๋ค.
๋ง์ง๋ง์ team == 0์ผ ๋ cnt๋ฅผ ์ฆ๊ฐ์ํค๋ ๊ฒ์ด ์๋๋ผ, ์ถ์ ํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ count๋ฅผ ๊ฐ์์ํค๋ ์ ์ด ๋งค์ฐ ๋๋ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ abs()
๋ฅผ ํตํด ๋ฐ๋ก ์์ธ์ง ์๋์ง ์ฌ๋ถ๋ฅผ ํ๋จํ๋ ๊ฒ๋ ์์ฃผ ์ข๋ค์. ์ฌ๋ถ์ ๋ฐฐ๋ฅผ ๊ฐ์ ธ์จ ํ๋ค ์ค ๋ฒํธ ์ฐจ์ด๊ฐ 1 ๋๋ 0(์๊ธฐ์์ )์ผ๋ก ๋ถ๋ฆฌํ ๊ฒ๋ ์ข์ต๋๋ค. ๋์๊ฐ ์๊ธฐ ์์ ์๊ฒ๋ , ๋ค๋ฅธ ํ์๊ฒ๋ ๋ฐฐ๋ฅผ ๋น๋ ค์คฌ๋ค๋ฉด have ๋ฐฐ์ด์์ ์ญ์ ํ๊ณ ์ฌ๋ถ์ ๋ฐฐ๋ฅผ ๊ฐ์ง ํ์ ๊ฐฏ์์์ ํ๋๋ฅผ ๋นผ์ค๋ค๋ ์ ์ด ํจ์จ์ ์
๋๋ค.
๋จ์ํ๊ฒ 2์ค for loop์ ์ํํ๋ฉฐ ํ์๋ค์.