구현 :머릿 속에 있는 알고리즘을 소스코드로 바꾸는 과정

  • 구현 문제란?
    1) 풀이를 떠올리는 것은 쉽지만 소스코드로 옮기기 어려운 문제
    2) 실수 연산을 다루고, 특정 소수점까지 출력해야 하는 문제
    3) 문자열을 특정 기준에 따라 끊어 처리해야 하는 문제
    4) 적절한 라이브러리를 찾아 사용해야하는 문제
    👉 시뮬레이션, 완전탐색 문제 유형과도 비슷

TIP) 1초에 2천만번 연산을 한다고 가정하고 시간 계산해보기!

예제 1 :nn 정사각형 공간에서 입력한 위치만큼 이동했을 때 도착하는 좌표 구하기
('L', 'R', 'U', 'D'로 표현하여야 하고 n
n 공간을 벗어날 때는 무시!)

✔ 풀이 : dx, dy 선언해서 'L', 'R', 'U', 'D'일때 좌표 생성 -> dx = [0,0, -1, 1] dy = [-1, 1, 0, 0]
입력받은 위치만큼 x, y좌표 옮기고, 공간을 벗어날 때는 continue로 무시하기.


예제 2 :0시 0분 0초부터 n시 59분 59초가 3이 하나라도 포함된 경우의 수 구하기.

✔ 풀이 :n이 23이라고 해도 2천만번을 넘기지 않으니 이 정도는 하나씩 세어도 괜찮다. 그러니 완전탐색으로 모든 경우의 수를 살펴보자!
시, 분, 초를 모두 for문에 포함시켜 str화 시켜 더해준다.

h = int(input())
for i in (h+1) :
  for j in 60:
    for k in 60:
        if 3 in str(i) + str(j) + str(k) :
            count +=1

0개의 댓글