#์ด์ํ ์นธ #250125๋ฒ # lv1
# ๋ฌธ์
๊ฐ ์นธ๋ง๋ค ์์ด ์น ํด์ง 2์ฐจ์ ๊ฒฉ์ ๋ณด๋ํ์ด ์์ต๋๋ค. ๊ทธ์ค ํ ์นธ์ ๊ณจ๋์ ๋, ์, ์๋, ์ผ์ชฝ, ์ค๋ฅธ์ชฝ ์นธ ์ค ๊ฐ์ ์๊น๋ก ์น ํด์ง ์นธ์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ค๊ณ ํฉ๋๋ค.
๋ณด๋์ ๊ฐ ์นธ์ ์น ํด์ง ์๊น ์ด๋ฆ์ด ๋ด๊ธด ์ด์ฐจ์ ๋ฌธ์์ด ๋ฆฌ์คํธ board์ ๊ณ ๋ฅธ ์นธ์ ์์น๋ฅผ ๋ํ๋ด๋ ๋ ์ ์ h, w๊ฐ ์ฃผ์ด์ง ๋ board[h][w]์ ์ด์ํ ์นธ๋ค ์ค ๊ฐ์ ์์ผ๋ก ์น ํด์ ธ ์๋ ์นธ์ ๊ฐ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
์ด์ํ ์นธ๋ค ์ค ๋ช ๊ฐ์ ์นธ์ด ๊ฐ์ ์์ผ๋ก ์์น ๋์ด ์๋์ง ํ์ธํ๋ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
# ์์ฌ์ฝ๋
1. ์ ์๋ฅผ ์ ์ฅํ ๋ณ์ n์ ๋ง๋ค๊ณ board์ ๊ธธ์ด๋ฅผ ์ ์ฅํฉ๋๋ค.
2. ๊ฐ์ ์์ผ๋ก ์์น ๋ ์นธ์ ๊ฐ์๋ฅผ ์ ์ฅํ ๋ณ์ count๋ฅผ ๋ง๋ค๊ณ 0์ ์ ์ฅํฉ๋๋ค.
3. h์ w์ ๋ณํ๋์ ์ ์ฅํ ์ ์ ๋ฆฌ์คํธ dh, dw๋ฅผ ๋ง๋ค๊ณ ๊ฐ๊ฐ [0, 1, -1, 0], [1, 0, 0, -1]์ ์ ์ฅํฉ๋๋ค.
4. ๋ฐ๋ณต๋ฌธ์ ์ด์ฉํด i ๊ฐ์ 0๋ถํฐ 3๊น์ง 1 ์ฉ ์ฆ๊ฐ์ํค๋ฉฐ ์๋ ์์
์ ๋ฐ๋ณตํฉ๋๋ค.
4-1. ์ฒดํฌํ ์นธ์ h, w ์ขํ๋ฅผ ๋ํ๋ด๋ ๋ณ์ h_check, w_check๋ฅผ ๋ง๋ค๊ณ ๊ฐ๊ฐ h + dh[i], w + dw[i]๋ฅผ ์ ์ฅํฉ๋๋ค.
4-2. h_check๊ฐ 0 ์ด์ n ๋ฏธ๋ง์ด๊ณ w_check๊ฐ 0 ์ด์ n ๋ฏธ๋ง์ด๋ผ๋ฉด ๋ค์์ ์ํํฉ๋๋ค.
4-2-a. board[h][w]์ board[h_check][w_check]์ ๊ฐ์ด ๋์ผํ๋ค๋ฉด count์ ๊ฐ์ 1 ์ฆ๊ฐ์ํต๋๋ค.
5. count์ ๊ฐ์ returnํฉ๋๋ค.
์ ํ์ฌํญ
- 1 โค board์ ๊ธธ์ด โค 7
- board์ ๊ธธ์ด์ board[n]์ ๊ธธ์ด๋ ๋์ผํฉ๋๋ค.
- 0 โค h, w < board์ ๊ธธ์ด
- 1 โค board[h][w]์ ๊ธธ์ด โค 10
- board[h][w]๋ ์์ด ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
# ํ์ด
def solution(board, h, w):
n, count = len(board), 0
dh, dw = [0, 1, -1, 0], [1, 0, 0, -1]
for i in range(4): # 0 ~ 3์ ์ธ๋ฑ์ค๊น์ง
h_check, w_check = h + dh[i], w + dw[i] # ์ฐ๋ฆฌ๊ฐ ์ฒดํฌํ ์, ์๋, ์ค๋ฅธ์ชฝ, ์ผ์ชฝ ์นธ์ ์๊น
if (h_check >= 0 and h_check < n) and (w_check >= 0 and w_check < n ):
if (board[h][w] == board[h_check][w_check]): # ๋ง์ฝ ์๊น์ด ์ ํํ h, w ์นธ์ ์๊ณผ ๊ฐ๋ค๋ฉด,
count += 1 # count๋ฅผ 1์ฉ ์ฆ๊ฐ.
else:
pass # ์๋๋ฉด pass
else:
pass
return count
'Python > ๐ ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค - '๋ง์น ํ๊ธฐ' [์ฝ๋ฉํ ์คํธ ์ฐ์ต] (1) | 2024.02.15 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค - '์ถ์ต ์ ์' [์ฝ๋ฉํ ์คํธ ์ฐ์ต] (0) | 2024.02.13 |
ํ๋ก๊ทธ๋๋จธ์ค - '๊ฐ์ฑ์ ' [PCCE ๊ธฐ์ถ๋ฌธ์ 6๋ฒ] (1) | 2024.02.07 |
ํ๋ก๊ทธ๋๋จธ์ค - '์ฒด์ก๋ณต' [์ฝ๋ฉํ ์คํธ ์ฐ์ต] (0) | 2024.01.24 |
ํ๋ก๊ทธ๋๋จธ์ค - '์ต๋น๊ฐ ๊ตฌํ๊ธฐ' [์ฝ๋ฉํ ์คํธ ์ฐ์ต] (0) | 2024.01.09 |
#์ด์ํ ์นธ #250125๋ฒ # lv1
# ๋ฌธ์
๊ฐ ์นธ๋ง๋ค ์์ด ์น ํด์ง 2์ฐจ์ ๊ฒฉ์ ๋ณด๋ํ์ด ์์ต๋๋ค. ๊ทธ์ค ํ ์นธ์ ๊ณจ๋์ ๋, ์, ์๋, ์ผ์ชฝ, ์ค๋ฅธ์ชฝ ์นธ ์ค ๊ฐ์ ์๊น๋ก ์น ํด์ง ์นธ์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ค๊ณ ํฉ๋๋ค.
๋ณด๋์ ๊ฐ ์นธ์ ์น ํด์ง ์๊น ์ด๋ฆ์ด ๋ด๊ธด ์ด์ฐจ์ ๋ฌธ์์ด ๋ฆฌ์คํธ board์ ๊ณ ๋ฅธ ์นธ์ ์์น๋ฅผ ๋ํ๋ด๋ ๋ ์ ์ h, w๊ฐ ์ฃผ์ด์ง ๋ board[h][w]์ ์ด์ํ ์นธ๋ค ์ค ๊ฐ์ ์์ผ๋ก ์น ํด์ ธ ์๋ ์นธ์ ๊ฐ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
์ด์ํ ์นธ๋ค ์ค ๋ช ๊ฐ์ ์นธ์ด ๊ฐ์ ์์ผ๋ก ์์น ๋์ด ์๋์ง ํ์ธํ๋ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
# ์์ฌ์ฝ๋
1. ์ ์๋ฅผ ์ ์ฅํ ๋ณ์ n์ ๋ง๋ค๊ณ board์ ๊ธธ์ด๋ฅผ ์ ์ฅํฉ๋๋ค.
2. ๊ฐ์ ์์ผ๋ก ์์น ๋ ์นธ์ ๊ฐ์๋ฅผ ์ ์ฅํ ๋ณ์ count๋ฅผ ๋ง๋ค๊ณ 0์ ์ ์ฅํฉ๋๋ค.
3. h์ w์ ๋ณํ๋์ ์ ์ฅํ ์ ์ ๋ฆฌ์คํธ dh, dw๋ฅผ ๋ง๋ค๊ณ ๊ฐ๊ฐ [0, 1, -1, 0], [1, 0, 0, -1]์ ์ ์ฅํฉ๋๋ค.
4. ๋ฐ๋ณต๋ฌธ์ ์ด์ฉํด i ๊ฐ์ 0๋ถํฐ 3๊น์ง 1 ์ฉ ์ฆ๊ฐ์ํค๋ฉฐ ์๋ ์์
์ ๋ฐ๋ณตํฉ๋๋ค.
4-1. ์ฒดํฌํ ์นธ์ h, w ์ขํ๋ฅผ ๋ํ๋ด๋ ๋ณ์ h_check, w_check๋ฅผ ๋ง๋ค๊ณ ๊ฐ๊ฐ h + dh[i], w + dw[i]๋ฅผ ์ ์ฅํฉ๋๋ค.
4-2. h_check๊ฐ 0 ์ด์ n ๋ฏธ๋ง์ด๊ณ w_check๊ฐ 0 ์ด์ n ๋ฏธ๋ง์ด๋ผ๋ฉด ๋ค์์ ์ํํฉ๋๋ค.
4-2-a. board[h][w]์ board[h_check][w_check]์ ๊ฐ์ด ๋์ผํ๋ค๋ฉด count์ ๊ฐ์ 1 ์ฆ๊ฐ์ํต๋๋ค.
5. count์ ๊ฐ์ returnํฉ๋๋ค.
์ ํ์ฌํญ
- 1 โค board์ ๊ธธ์ด โค 7
- board์ ๊ธธ์ด์ board[n]์ ๊ธธ์ด๋ ๋์ผํฉ๋๋ค.
- 0 โค h, w < board์ ๊ธธ์ด
- 1 โค board[h][w]์ ๊ธธ์ด โค 10
- board[h][w]๋ ์์ด ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
# ํ์ด
def solution(board, h, w):
n, count = len(board), 0
dh, dw = [0, 1, -1, 0], [1, 0, 0, -1]
for i in range(4): # 0 ~ 3์ ์ธ๋ฑ์ค๊น์ง
h_check, w_check = h + dh[i], w + dw[i] # ์ฐ๋ฆฌ๊ฐ ์ฒดํฌํ ์, ์๋, ์ค๋ฅธ์ชฝ, ์ผ์ชฝ ์นธ์ ์๊น
if (h_check >= 0 and h_check < n) and (w_check >= 0 and w_check < n ):
if (board[h][w] == board[h_check][w_check]): # ๋ง์ฝ ์๊น์ด ์ ํํ h, w ์นธ์ ์๊ณผ ๊ฐ๋ค๋ฉด,
count += 1 # count๋ฅผ 1์ฉ ์ฆ๊ฐ.
else:
pass # ์๋๋ฉด pass
else:
pass
return count
'Python > ๐ ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค - '๋ง์น ํ๊ธฐ' [์ฝ๋ฉํ ์คํธ ์ฐ์ต] (1) | 2024.02.15 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค - '์ถ์ต ์ ์' [์ฝ๋ฉํ ์คํธ ์ฐ์ต] (0) | 2024.02.13 |
ํ๋ก๊ทธ๋๋จธ์ค - '๊ฐ์ฑ์ ' [PCCE ๊ธฐ์ถ๋ฌธ์ 6๋ฒ] (1) | 2024.02.07 |
ํ๋ก๊ทธ๋๋จธ์ค - '์ฒด์ก๋ณต' [์ฝ๋ฉํ ์คํธ ์ฐ์ต] (0) | 2024.01.24 |
ํ๋ก๊ทธ๋๋จธ์ค - '์ต๋น๊ฐ ๊ตฌํ๊ธฐ' [์ฝ๋ฉํ ์คํธ ์ฐ์ต] (0) | 2024.01.09 |