Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 컬럼 암호화
- 키워드 암호화
- 나동빈
- 동적 계획 알고리즘
- 파이썬
- 위치 암호화
- 세탁소 사장 동혁
- 백준
- 욱제는 효도쟁이야!!
- 5와 6의 차이
- 문자 변환표
- 통나무 건너기
- Pop
- 거스름돈
- JoCoding
- ZOAC 2
- 구현
- 대체 암호화
- 사과 담기 게임
- 코딩 테스트
- 한빛미디어
- 컴퓨터 네트워크
- 시저 암호화
- 소가 길을 건너간 이유3
- DES 알고리즘
- 2 + 1 세일
- Greedy
- 그리디 알고리즘
- 비연결형 통신
- 전자 메일
Archives
- Today
- Total
주니어로서의 백 걸음, 개발자로서의 한 걸음
구현 - 왕실의 나이트 본문
문제 해설: 왕실의 나이트 문제는 앞서 다루었던 '상하좌우' 문제와 유사하다. 나이트가 이동할 수 있는 경로를 하나씩 확인하여 이동하면 된다. 다만, 8 x 8 좌표 평면을 벗어나지 않도록 꼼꼼하게 검사하는 과정이 필요하다.
나이트는 2가지 경로로 움직일 수 있다고 했다.
- 수평으로 두 칸 이동한 뒤에 수직으로 한 칸 이동하기
- 수직으로 두 칸 이동한 뒤에 수평으로 한 칸 이동하기
a = input()
row = int(a[1])
column = int(ord(a[0])) - int(ord('a')) + 1
steps = [(2, -1), (2, 1), (-2, -1), (-2, 1), (1, -2), (1, 2), (-1, -2), (-1, 2)]
result = 0
for step in steps:
next_row = row + step[0]
next_column = column + step[1]
if next_row >= 1 and next_row <= 8 and next_column >= 1 and next_column <= 8:
result += 1
print(result)
출처: 나동빈, 『이것이 취업을 위한 코딩 테스트다 with 파이썬』(한빛미디어), 115-117p