[Algorithm] 탐색(선형탐색, 이진탐색)이란? / Python 탐색이란? 예를 들어 도서관에서 특정 책을 찾는 과정을 탐색이라고 할 수 있다. 즉, 필요한 정보를 찾는 과정을 탐색이라고 하고, 필요한 정보를 찾는 다양한 방법을 탐색이라고 생각하면 된다. 탐색의 종류로는 대표적 선형 탐색 알고리즘(Linear Search algorithm)과 이진 탐색 알고리즘(Binary Search Algorithm)이 존재한다. 선형 탐색 알고리즘(Liner Search Algorithm)? 우선 컴퓨터가 어떤 식으로 탐색을 하는 가 생각해보면, 가장 기초적인 방법은 처음 부터 끝까지 일일이 하나씩 찾으면서 탐색하는 방법이 있다. 이러한 방법을 선형 탐색 알고리즘이라고 한다. 선형 탐색 알고리즘은 왼쪽부터 하나씩 확인하는 방법이라고 생각하면 이해하기 쉽다. 파이썬으로 선형 탐색..
[Algorithm] 팰린드롬(palindrome)이란? / Python 팰린드롬(palindrome)이란? 팰린드롬(palindrome)은 앞에서 읽으나 뒤에서부터 읽으나 같은 단어를 말한다 '기러기'나 '오디오'등과 같은 단어를 팰린드롬이라고한다. 위와 같인 팰린드롬 알고리즘을 Python으로 구현을 해보면 아래와 같다. def is_palindrome(inputWord): word = inputWord.replace(" ", "") stringHalf = len(word) // 2 if (stringHalf * 2 - 1) % 2 == 1: for i in range(int(stringHalf)): if word[i] == word[len(word)-1-i]: continue else: return False return True else: return False 코드 ..
[백준] 2750번 : 수 정렬하기 / Python 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 풀이 N = int(input()) sortList ..
[백준] 1436번 : 영화감독 숌 / Python 문제 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워즈를 만들 때, 스타워즈 1, 스타워즈 2, 스타워즈 3, 스타워즈 4, 스타워즈 5, 스타워즈 6과 같이 이름을 지었고, 피터 잭슨은 반지의 제왕을 만들 때, 반지의 제왕 1, 반지의 제왕 2, 반지의 제왕 3과 같이 영화 제목을 지었다. 하지만 숌은 자신이 조지 루카스와 피터 잭슨을 뛰어넘는다는 것을 보여주기 위해서 영화 제목을 좀 다르게 만들기로 했다. 종말의 숫자란 어떤 수에 6이 적어도 3개이상 연속으로 들어가는 수를 말한다. 제일 작은 종말의 숫자는 666이고, 그 다음으로 큰 수는 1666, 2..