알고리즘/코딩테스트 개념 공부
-
소수 판별 알고리즘알고리즘/코딩테스트 개념 공부 2025. 2. 27. 13:11
내가 주로 소수를 판별하는데 사용할 방법은 √ 를 활용한 방법이다.이 방법에 대해서 원리가 어떻게 되는지 기억하고 나중에도 떠올릴 수 있도록 하자!. 🖥️ 동작 원리기본적으로 소수인지 알 수 있는 방법으로는 N이라는 수가 주어졌을 때 N과 1을 제외해서 이 N의 나머지를 0으로 만드는 값이 없다면 소수이다. 즉 11이라는 수가 주어졌을 때 1과 11을 제외하고 11을 나눌 수 없기에 11은 소수이고 12는 1, 2, 3, 4, 6으로 나뉘기에 소수가 아니다.그렇기에 위 원리를 통해서 소수를 판별하는 식은 아래와 같다.🌈 파이썬 코드def is_prime_number(N): for i in range(2, N): if N % i == 0: return False reutrn Tr..
-
수의 체계와 진법 변환알고리즘/코딩테스트 개념 공부 2025. 2. 26. 10:28
깊은 내용까지는 아니고 알고리즘을 풀 정도로 간단하게만 요약할 정도임..ㅎ수의 체계를 통해서 진법 변환을 어떻게 하면되는 건지 알아보자문제: 백준 2745번 🌈 파이썬 코드def solution(): chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" N, B = input().split() result = 0 for index, value in enumerate(N[::-1]): result += (chars.index(value) * (int(B) ** index)) return resultprint(solution()) 우리가 흔히 사용하는 10진법을 예시로 들어보자. 440이라는 10진법으로 표현된 수가 있..
-
[자료구조] 해시(Hash)알고리즘/코딩테스트 개념 공부 2025. 1. 14. 14:16
🎩 등장 배경데이터는 날마다 늘어나고 있고 이러한 데이터를 효율적으로 저장하거나 탐색하기 위한 문제는 끊임없이 연구되고 있다. 데이터를 찾는데 가장 쉽게 떠올릴 수 있는 순차 탐색의 경우 최악의 경우에는 n개의 데이터 모두를 탐색해야하는 경우가 나오기에 효율적인 방법은 아니다. 즉 데이터가 어디에 위치해있는지 안다면 이것만큼 효율적인 방법은 없는 것이다. 이러한 효율적인 방법을 강구하여 나온 결과물 중 하나가 해시(Hash)이다. 🌳 해시의 개념 어떠한 값이 저장되는 위치를 특정 규칙으로 정하여 탐색할 필요 없이 바로 데이터를 찾아낼 수 있는 자료구조해시함수를 사용해 변환한 값을 인덱스로 삼아 키와 값을 저장하여 빠른 데이터 탐색을 제공한다. 파이썬에서는 딕셔너리라는 자료형이 해시 테이블과 거의 동..