본문 바로가기

전체 글

[조코딩 웹 개발 5주 완성] 2주차 정리 - 검색 엔진에 내 사이트 등록 * 조코딩 웹 개발 5주 완성 강의를 듣고 개인 복습을 위해 정리한 글입니다. https://www.youtube.com/watch?v=lkh_S7TJNGw&t=8431s 검색 엔진에 내 사이트 등록 검색 엔진의 원리 네이버나 구글 등에는 크롤러 봇이 있는데, 이 봇이 모든 사이트들을 돌아다니면서 정보를 수집하고 분류를 하는 역할을 한다. 검색 엔진은 이 크롤러 봇이 가지고 온 정보를 바탕으로 내가 어떤 것을 검색했을 때 그것에 최적화된 사이트를 보여주는 것이다. 따라서 크롤러 봇이 내 사이트가 있음을 인식하도록 만들어야 한다. 크롤러 봇이 특정 사이트를 찾는 원리 1. robots.txt 파일을 읽어 이 사이트의 접근 허용(읽어도 되는지 안되는지) 정책에 따라 판단한다. ※ robots.txt : 크롤.. 더보기
[조코딩 웹 개발 5주 완성] 2주차 정리 - 도메인 등록, favicon 등록 * 조코딩 웹 개발 5주 완성 강의를 듣고 개인 복습을 위해 정리한 글입니다. https://www.youtube.com/watch?v=lkh_S7TJNGw&t=8431s 1. 도메인 등록 DNS (Domain Name System) 도메인 네임과 IP 주소를 대응시켜주는 거대 규모의 분산 시스템 ex) naver.com -> 223.130.200.107 DNS 서버가 설정되어 있어야 인터넷이 가능하다. DNS에 등록을 하는 방법은? 대행해주는 업체를 통해 도매인을 구입하면 각 업체들이 보유한 네임서버에서 DNS에 등록을 해주고 네임서버 관리를 대신해주기 때문에 이 업체에 도메인을 등록만 하면 된다. 도메인 판매 및 네임서버 관리 업체 namecheap GoDaddy gabia cafe24 freenom.. 더보기
[python] 백준 10866번 덱 https://www.acmicpc.net/problem/10866 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 💻 코드 import sys from collections import deque input = sys.stdin.readline n = int(input()) deque_list = deque() for i in range(n): tmp = input().rstrip().split() if len(tmp) == 1: command = tmp[0] if command == 'pop.. 더보기
[python] 백준 1991번 트리 순회 https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파 www.acmicpc.net 💻 코드 import sys input = sys.stdin.readline class Node: # 노드 생성 def __init__(self, data, left_node, right_node): self.data = data self.left_node = left_node self.right_node = right_node def preorder(node): # 전위 순회 VLR .. 더보기
[python] 백준 1697번 숨바꼭질 https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 💻 코드 from collections import deque def bfs(): queue = deque() queue.append(n) while queue: x = queue.popleft() # 시작점 if x == k: print(visited[x]) break for i in (x - 1, x + 1, x * 2): if 0 시작점 5 != 17이므로 if문은.. 더보기
[python] 백준 11723번 집합 https://www.acmicpc.net/problem/11723 11723번: 집합 첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다. www.acmicpc.net 💻 코드 import sys m = int(input()) s = set() for _ in range(m): tmp = sys.stdin.readline().rstrip().split() # command만 있을 경우 if len(tmp) == 1: if tmp[0] == 'all': s = set([i for i in range(1, 21)]) else: s = set() # command와 x가 존재할 때 else: comma.. 더보기
[python] 백준 10972번 다음 순열 https://www.acmicpc.net/problem/10972 10972번: 다음 순열 첫째 줄에 입력으로 주어진 순열의 다음에 오는 순열을 출력한다. 만약, 사전순으로 마지막에 오는 순열인 경우에는 -1을 출력한다. www.acmicpc.net 💻 코드 import sys input = sys.stdin.readline n = int(input()) array = list(map(int, input().split())) for i in range(n - 1, 0, -1): # 뒤에서부터 탐색 if array[i - 1] < array[i]: # 앞의 숫자가 뒤의 숫자보다 더 크면 for j in range(n - 1, 0, -1): # 뒤에서부터 탐색 if array[i - 1] < array[j.. 더보기
브루트 포스(Brute Force) 브루트 포스(Brute Force)란? 난폭한(Brute) 힘(Force) 모든 경우의 수를 무식하게 탐색하여 요구 조건에 충족되는 결과만을 가져오는 알고리즘으로, 전체 탐색, 완전 탐색이라고도 불린다. 브루트 포스(Brute Force)의 장점 알고리즘을 설계하고 구현하기 쉽다. 브루트 포스(Brute Force)의 단점 알고리즘의 실행 시간이 매우 오래 걸린다. 메모리 사용이 매우 비효율적이다. 브루트 포스(Brute Force) 알고리즘 구현 방법 1. for/while loop 이용 2. 재귀 함수 이용 브루트 포스(Brute Force) 문제 2022.07.25 - [Algorithm 문제 풀이/python] - [python] 백준 2309번 일곱 난쟁이 [python] 백준 2309번 일곱 .. 더보기