목록전체 글 (5)
snowball
0. 시작백준 9251번을 풀면서 해당 입력 값을 받으면서 어떤 방법이 더 좋을지 고민해보았다.# 입력값ACAYKPCAPCAK 1. strip() 메서드 사용strip() 메서드는 문자열의 양쪽 끝에 있는 공백 문자(개행 문자 포함)를 제거합니다.import sysinput = sys.stdin.readlines()W1 = input[0].strip()W2 = input[1].strip()print(W1) # ACAYKP 출력print(W2) # CAPCAK 출력 2. map() 함수와 strip() 메서드 사용map() 함수를 사용하여 입력받은 각 줄에 strip() 메서드를 적용할 수 있습니다.import sysinput = sys.stdin.readlines()W = [line.strip()..
백준 1927번 문제를 통해 힙 자료구조에 대해 공부해보자. 1. 힙 (Heap) 이란?정의:힙은 완전 이진 트리의 일종으로, 부모 노드가 자식 노드보다 크거나 작다는 특성을 가집니다. 최소 힙(min-heap)에서는 부모 노드가 자식 노드보다 작고, 최대 힙(max-heap)에서는 부모 노드가 자식 노드보다 큽니다.특징:힙은 우선순위 큐의 구현에 자주 사용됩니다.삽입과 삭제 연산이 O(log n)의 시간 복잡도를 가집니다.힙을 사용하면 우선순위 큐의 효율적인 구현이 가능합니다2. 최소 힙 (Min-Heap) 이란?특징완전 이진 트리: 모든 레벨이 완전히 채워져 있으며, 마지막 레벨은 왼쪽부터 오른쪽으로 채워져 있습니다.힙 속성: 각 노드의 값이 그 자식 노드의 값보다 작거나 같은 특성을 가집니다. 즉,..
import sys# 입력 받기N = int(sys.stdin.readline().strip())customers = []for _ in range(N): # 각 고객이 제시한 가격과 배송비를 입력 받음 price, shipping = map(int, sys.stdin.readline().strip().split()) customers.append((price, shipping))# 최대 이익과 그 때의 제시 가격을 저장할 변수max_profit = 0optimal_price = 0# 가능한 모든 제시 가격(고객이 제시한 가격들 중에서)에 대해 계산possible_prices = sorted(set(price for price, _ in customers))for offer_price i..
태그 기반 검색 최적화: O(N²)에서 O(1)로 성능 개선하기해당 글은 백준사이트의 20502번 문제를 풀고 배운 내용을 정리한 글입니다.문제 url: https://www.acmicpc.net/problem/20502 백준 20502번 문제를 풀면서 리스트(list)와 깊은 복사를 사용한 풀이 → dict를 활용한 자료구조 개선 → remove() 대안 도출 과정으로 최적화한 경험을 공유하려 한다.1️⃣ 처음에는 익숙한 list와 깊은 복사를 사용했다문제를 처음 접했을 때, 태그를 포함하는 개체들을 리스트(list)로 저장하는 방식이 직관적이라고 생각했다.따라서 개체들의 랭크(중요도) 정보를 저장하고, 각 태그별 개체 목록을 리스트로 관리하는 방식으로 접근했다.이 과정에서 깊은 복사(copy.deep..

이미지 출처1. HTTP란 무엇인가?HTTP는 웹에서 가장 많이 사용하는 통신 프로토콜 중 하나로, 서버와 사용자 간의 데이터 전송을 위해 설정된 규칙이다. 사용자가 웹페이지를 요청하면, 그에 맞는 데이터를 서버에서 가져와 전달한다. 이 과정은 사용자와 서버 간의 소통을 원활하게 해준다. 하지만, HTTP는 보안이 취약해서, 누군가가 통신을 엿볼 수도 있다.2. HTTPS란 무엇인가?HTTPS는 HTTP에 보안 기능을 추가한 프로토콜로, SSL(Secure Sockets Layer) 또는 TLS(Transport Layer Security)를 이용해서 데이터 전송 시 정보를 암호화한다. 그래서 데이터를 주고 받을 때, 중간에 해커가 정보를 탈취하지 못하도록 보호한다. 간단히 말하면, HTTPS는 보안이 ..