코딩테스트를 위한 구현(implementation) 알고리즘 정의

728x90

구현(implementation)이란 머릿속에 있는 알고리즘을 소스코드로 변환하는 과정이다.

모든 알고리즘에 포함되는 개념이므로 구현 알고리즘 문제는 모든 알고리즘 문제를 대변하는 것이라고 말할 수 있다.

 

구현 문제 유형 예시

  • 완전 탐색 : 모든 경우의 수를 모두 다 계산하는 해결 방법
  • 시뮬레이션 : 문제에서 제시된 알고리즘을 한단계식 차례대로 직접 수행하는 방법

예시로 시각 알고리즘을 풀어보자

#정수 N이 입력되면 00:00:00시부터 N시 59분 59초까지 모든 시각 중 3이 하나라도 들어가는 모든 경우의 수 구하기
#1이 입력되면 00시 00분 03초, 00시 13분 30초 등등
from itertools import product
t = int(input())
#초당 3초 30초 33초
#분당 3분 13분 33분
#시당 3시 13시
result = 0

for i in range(t+1):
    for j in range(60):
        for k in range(60):
            # 시간을 030125 같이 string으로 변환해서 3이 포함된 숫자만 추출한다.
            if '3' in str(i) + str(j) + str(k):
                result +=1
print(result)

11475

 

728x90

'알고리즘 풀이' 카테고리의 다른 글

코딩 테스트를 위한 그리디 알고리즘 정의  (0) 2022.04.26