카테고리 없음
[이코테] 구현 유형 문제 풀이
renouvea.u
2023. 4. 18. 14:00
완전 탐색
- 가능한 경우의 수를 모두 검사해보는 탐색 방법
<문제1> 시각
* 문제 해결 아이디어
- 가능한 모든 시각의 경우를 하나씩 모두 세서 풀 수 있는 문제
- 하루는 24(h) * 60(m) * 60(s) = 86,400가지의 경우
- 단순히 시각을 1씩 증가시키면서 3이 하나라도 포함되어 있는지만 확인
- 완전 탐색 문제 유형
* 내 답안
n = int(input())
count = 0 # 3이 하나라도 포함되는 모든 경우의 수 계산
for h in range(n+1):
for m in range(60):
for s in range(60):
if '3' in str(h) + str(m) + str(s):
count += 1
print(count)
<문제2> 왕실의 나이트
* 내 답안
# 현재 나이트의 위치 입력받기
s = input()
row = int(s[1])
column = ord(s[0]) - ord('a') + 1
result = 0
# 나이트가 이동할 수 있는 8가지 방향 정의
steps = [(-2, -1), (-1, -2), (2, -1), (1, -2), (-2, 1), (-1, 2), (2, 1), (1, 2)]
# 8가지 방향에 대해 각 위치로 이동이 가능한지 확인
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)
<문제3> 문자열 재정렬