백준알고리즘 : 영화감독 솜

백준 영화감독 솜

문제 설명

조건

조건을 확인해보자!

  1. 첫쨰줄 N (N ≤ 10,000)
# 입력에 있는 첫줄의 N을 입력받는다.
N = input()
# 조건
(N <= 10,000)
  1. 666이 유지 되어야 한다.

How?

  • “666”을 문자로 식별해서 유지해 보자!
# 종말을 문자로 유지하자!
end = "666"
  1. 중요한 반복 설정
  • 제일 작은 종말의 숫자는 666이고, 그 다음으로 큰 수는 1666, 2666, 3666, .... 과 같다. 중요점은 666을 기준으로 앞과 뒤에 카운트가 증가해야한다.
    즉, 카운트 할 변수, 앞과 뒤에 증가를 계산해줄 함수가 필요하다.
    #카운트 변수 생성
    count = 0
    # 종말의 앞뒤로 값을 증가시킬함수를 만들자.(아래 서술)
  1. 규칙 찾기
  • 문제의 규칙을 보면

666 → 1666 → 2666 → 3666 → 4666 → 5666 → (?)까지 밖에 써있지 않아 사실 여기서 한번 막히게 된다.

다음 예제는 187입력시 66666인데 why? 500입력시 166699?

나는 머리가 좋지 않아 바로 이해하지 못했지만 단지 값이 올라갈 뿐이였다.

5666 →6660 → 6661 → 6662...

이제 이걸 코드로 나타내려면.

  1. 설계
💡 1.일단 값이 계속 순서대로 올라가는 하나의 루프 중요한 부분은 end 변수 부터 값이 올라가야 되겠죠? 💡 2.666이 1666이 되는 순간 조건문을 넣어야 겠다는 생각이 들죠? 💡 3.마지막으로 멈출수있는 방법을 마련해 둬야 겠죠?
  1. 설계대로 코드 구현
#설계대로 구현을 해봅시다.
#이떄 값은 숫자로만 들어오니 int를 먹여 봅시다
n = int(input())
#종말 변수 선언
end = 666
#종말 영화의 회차를 카운트 해줘야 합니다.
count = 0
#1.번설계 숫자를 계속 돌리는 루프
while True:
	#2.번 설계 종말영화 회차를 카운트할 조건문
	if "666" in str(name):
		cnt +=1
			# 3.번 설계 멈출수있는 방법
			if cnt == n:
				print(end)
				break
	end += 1

이제 코드를 돌려보면 됩니다.

문제

1436번: 영화감독 숌

해답 깃허브
algorithmstudy/1436영화감독 숌.py at main · calmkeen/algorithm_study

좋은 웹페이지 즐겨찾기