카테고리 없음

[이코테] 구현 유형 문제 풀이

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> 문자열 재정렬