알고리즘

백준 알고리즘(파이썬) - 1436번 / in, not in(포함연산자)

joy_lee 2021. 8. 24. 16:09

영화감독 숌

https://www.acmicpc.net/problem/1436

 

1436번: 영화감독 숌

666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타

www.acmicpc.net

666이 연속으로 들어가는 숫자들을 차례대로 찾아야 한다.

처음에는 666을 고정시켜 놓고 _666, _ _666 과 같이 빈 칸에 수를 배열할까 생각했다. 그런데 이렇게하면 _666_과 같은 경우를 따로 생각해줘야 하기 때문에 모든 수를 순서대로 탐색하는 방법으로 코드를 작성했다.

1
2
3
4
5
6
7
8
9
= int(input())
num = 666
while True:
    if '666' in str(num):
        N -= 1
    if N == 0:
        print(num)
        break
    else: num += 1
cs

666부터 시작이기 때문에 초기 숫자를 666으로 설정했다.

숫자를 문자로 바꿔서 '666'이 존재하면 N번째에서 1을 빼주고, N이 0이 되면 그 수를 출력한다.

666이 들어간 N번째 수를 찾지 못하면 수를 하나 증가시켜 다시 확인한다.

 

in 덕분에 생각보다 쉽게 해결할 수 있었다.

 

 

포함연산자

in과 not in은 포함연산자라고 한다. 데이터 안에 찾고자 하는 값이 있는지 확인해서, 존재하면 True, 존재하지 않으면 False를 반환한다.

string뿐만 아니라 list, tuple, dictionary에서도 사용할 수 있다.

자료형 특징
string 대소문자 구분함
list 자료형과 자료가 일치해야 한다

list = [2, "3", [4], [5, 6]]
2 in list     # True
3 in list     # False
4 in list     # False
[4] in list   # True
5 in list     # False
5 in list[3]  # True
tuple 리스트와 같다
dict key값만 확인한다.
value 값중에 존재여부를 확인하고 싶으면
a in dict.values()
를 사용해야 한다.

 

 

 

참고한 사이트

http://parkjuwan.dothome.co.kr/wordpress/2017/03/20/python-in-operator/

 

파이썬의 유용한 연산자 in – PJW48

이 포스트에서는 파이썬에 쓰이는 연산자 중 유용한 연산자 in을 소개합니다. in은 멤버 연산자입니다. 어떤 배열이 있을 때 그 배열에 특정한 값이 있는가를 찾아서 그 값이 있으면 True(참)를, 없

parkjuwan.dothome.co.kr

 

https://blockdmask.tistory.com/547

 

[python] 파이썬 in, not in 포함 확인 연산

안녕하세요. BlockDMask입니다. 오늘은 파이썬에서 포함, 불포함을 확인할 수 있는 in, not in 연산에 대해서 알아보려고 합니다. 다양한 곳에서 사용할 수 있는데요. 예제를 최대한 많이 들어보겠습

blockdmask.tistory.com