2024/07/02 2

[면접을 위한 CS 전공지식 노트] 디자인패턴의 종류 및 특징

1. 싱글톤 패턴 ⭐️ 싱글톤 패턴은 특정 클래스의 인스턴스를 1개만 생성되는 것을 보장하는 디자인 패턴이다.  쉽게 말하자면 메모리 절약을 위해, 인스턴스가 필요할 때 똑같은 인스턴스를 새로 만들지 않고 기존의 인스턴스를 가져와 활용하는 기법을 말한다. 사용자가 1초에 10번 똑같은 요청을 보내면 요청을 처리하기 위한 똑같은 객체를 1초에 10번 생성하고 소멸되는 메모리 낭비 문제가 발생하게 된다.하지만 싱글톤 패턴을 사용하면 최초 한번 new로 객체를 생성하고 해당 객체를 이후에도 사용하도록 다른 모듈들과 공유(static)하여 메모리 낭비 문제를 방지할 수 있다. 따라서 싱글톤 패턴을 사용하게 되면 불필요한 메모리 낭비를 방지할 수 있다. 보통 싱글톤 패턴이 적용된 객체가 필요한 경우는 그 객체가 ..

개발 상식 2024.07.02

[백준 24444번] 알고리즘 수업 - 너비 우선 탐색 1

https://www.acmicpc.net/problem/24444import sysinput = sys.stdin.readlinefrom collections import deque# N개의 정점과 M개의 간선으로 구성된 무방향 그래프(undirected graph)가 주어진다# 정점 번호는 1번부터 N번, 모든 간선의 가중치는 1# 정점 R에서 시작하여 너비 우선 탐색으로 노드를 방문할 경우 노드의 방문 순서를 출력n, m, r = map(int,input().split())graph = [[] for _ in range(n+1)]visited = [0]*(n+1)for _ in range(m): u, v = map(int,input().split()) graph[u].append(v) ..

Algorithm/BFS 2024.07.02