Algorithm/Implement

[μ΄μ½”ν…Œ]κ΅¬ν˜„/μ™•μ‹€μ˜ λ‚˜μ΄νŠΈ/μ‹€μ „λ¬Έμ œ

μ •ν˜Έλ‚˜ 2024. 10. 9. 15:06

πŸ“• 문제

πŸ“—μ‹€ν–‰κ²°κ³Ό

μž…λ ₯ : a1

좜λ ₯ : 2

 

πŸ“„ λ‚΄κ°€ μƒκ°ν•œ 풀이

 

πŸ’» λ‚΄ μ½”λ“œ

 

# μ™•μ‹€μ˜ λ‚˜μ΄νŠΈ
# μ™„μ „νƒμƒ‰λ¬Έμ œ
# 2차원 λ°°μ—΄ ν˜Ήμ€ 리슀트둜 κ΅¬ν˜„ κ°€λŠ₯

# μœ„μΉ˜ μž…λ ₯ λ°›κΈ°, a1
n = input()


# 행은 μ•„μŠ€ν‚€μ½”λ“œλ‘œ λ³€ν™˜ν•œ n첫번째 κ°’μ—μ„œ aμ•„μŠ€ν‚€μ½”λ“œλ‘œ λ³€ν•œ 수 + 1?
column = int(ord(n[0])) - int(ord('a'))+1
# 열은 μœ„μΉ˜ μž…λ ₯의 λ‘λ²ˆμ§Έ 수
row = int(n[1])

# λ‚˜μ΄νŠΈκ°€ μ΄λ™ν•˜λŠ” 경우의 수 8κ°€μ§€
step = [(2,-1),(-1,2),(1,-2),(-2,1),(1,2),(2,1),(-1,-2),(-2,-1)]


result = 0
for i in step:
   
    next_column = column + i[0]
    next_row = row + i[1]
    
    # 8*8λ°°μ—΄ μ•ˆμ— μžˆμ„ λ•Œλ§Œ result+1
    if next_column <= 8 and next_column >= 1 and next_row <= 8 and next_row >=1:
        result += 1
# 총 result의 ν•©
print(result)