2024/02 24

백준 - 11653 (python)

첫 번째 풀이 def find_primes(n): primes = [] for num in range(2, n + 1): is_prime = True for i in range(2, int(num**0.5) + 1): if num % i == 0: is_prime = False break if is_prime: primes.append(num) return primes N = int(input()) primes = find_primes(N) index = 0 while N != 1: if N % primes[index] == 0: print(primes[index]) N //= primes[index] else: index += 1 미리 n까지의 소수를 담은 배열을 생성하고 반복문을 통해 소인수 분해를 ..

백준 - 9506 (python)

입력값의 제한이 100,000인걸 보고 제한조건에 해당하는 완전수가 별로 없을거같아서 야매로 코드를 한번 짜봤다. while True: arr = [] n = int(input()) if n == -1: break elif n == 6: print("6 = 1 + 2 + 3") elif n == 28: print("28 = 1 + 2 + 4 + 7 + 14") elif n == 496: print("496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248") elif n == 8128: print( "8128 = 1 + 2 + 4 + 8 + 16 + 32 + 64 + 127 + 254 + 508 + 1016 + 2032 + 4064" ) else: print(f"{n} is N..

Docker, Kubernetes

Docker란? 게임 2개를 실행한다고 가정하자. 게임 A는 최적화가 잘 되어있어 필요한 만큼의 리소스만 사용한다. 게임 B는 최적화가 안되어있어 컴퓨터의 리소스의 100%를 사용한다. 두 게임 동시에 실행한다면 게임 B가 컴퓨터의 모든 리소스를 사용하고 있기 때문에 게임 A는 잘 작동되지 않을거다. 전통적인 방법 (Traditional) 만약 전통적인 방법으로 해결하기 위해선 정말 극단적으로 컴퓨터를 한대 더 사서 게임A와 게임B를 각각 다른 컴퓨터로 실행해야 될거다 가상화 (Virtualized) 말 그대로 가상화 컴퓨터다. 하나의 하드웨어, OS에 가상 컴퓨터를 여러대 설치하는 방법이다. 각각의 가상 컴퓨터는 처음 만들때 리소스를 정해서 만들기 때문에 서로 독립된 공간에서 작동하게 된다. 컨테이너 ..

ETC 2024.02.19

백준 - 1193 (python)

처음 풀이 num = 1 cycle = -1 X = int(input()) count = 0 while True: j = num if cycle == 1: for i in range(0, j, +1): count += 1 if count == X: print(f"{i + 1}/{j}") break j -= 1 if count == X: break else: for i in range(0, j, +1): count += 1 if count == X: print(f"{j}/{i + 1}") break j -= 1 if count == X: break num += 1 cycle *= -1 1/1 -> 1/2 -> 2/1 -> 3/1 -> 2/2 . . . 분자와 분모가 1씩 증가하고 감소하는게 교차로 된다는 ..

카테고리 없음 2024.02.19

RDBMS vs NoSQL

RDBMS NoSQL 장점 - 일관성 보장 (ACID) - 정규화 - 복잡한 쿼리 지원 - 높은 확장성 - 다양한 데이터 형식 저장 (대량 비정형) 단점 - 수직적 확장(대용장 데이터 처리 제약) - 데이터 구조 변경 힘듬 - 비정형 데이터 처리 어려움 - 일관성 유지 어려움 (데이터 중복) - 특정 데이터 모델에 최적 2개 같이 사용하는 경우 장점만 채용 일관성이 중요한 데이터는 RDBMS 대량의 비정형 데이터를 다루거나 확장성이 필요한 데이터는 NoSQL

ETC 2024.02.19