Programming Languages

1.선택 정렬 int a[10] = {7, 5, 2, 10, 8, 4, 3, 1, 6, 9}; 선택 정렬은 이 중에서 가장 작은 데이터를 선택해서 맨 앞의 데이터와 바꾸고 그 다음으로 작은 데이터를 선택해서 앞에서 두번째인 데이터와 바꾸는 작업을 반복해서 수행한다. 항상 가장 작은 데이터를 선택해서 정렬하는 방법이다. #include #include using namespace std; int a[10] = {7, 5, 2, 10, 8, 4, 3, 1, 6, 9}; int main(void) { for (int i = 0; i < 10; i++) { int min_value = a[i]; // 우선 i번쨰 값을 mininum으로 설정 int min_idx = i; for (int j = i+1; j < ..
Python 의 divmod() 함수는 몫과 나머지를 구하는 함수이다. def modify(n, k): # k진수로 변경하기 result = '' while n > 0: n, mod = divmod(n, k) # 몫과 나머지를 구함 result += str(mod) return result[::-1]
re.sub re 모듈에 있는 sub() 함수는 문자열 조작에 사용할 수 있다. re.sub(정규표현식, 치환문자, 대상 문자열) text = "hello HELLO, my name is minjee. I woke up early today." 이런 문자열이 있고 여기서 ',' 와 '.' 를 제거해야하는 경우 text_mod = re.sub(r'[^\w]', ' ', text) hello HELLO my name is minjee I woke up early today 이렇게 바꿀 수 있다. 정규표현식에서 ^ 는 not 을 의미하고 \w는 문자열를 의미한다. 즉 위의 코드는 문자에 해당하지 않는 것들을 공백열로 바꿔주고 있다. 그렇다면 파이썬 정규표현식은 무엇일까 ? 파이썬에서 문자열의 일정한 패턴을 표..
defaultdict Python의 collections 모듈에 defaultdict이 있다. 코딩테스트 풀때, 딕셔너리가 필요한 문제 풀 때 굉장히 편리하다 일반 딕셔너리는 key 값을 미리 넣어주지 않았다면 value에 대한 연산을 할 때 KeyError 에러가 난다. words = ["apple", "apple", "iphone", "mac", "mac", "mac"] dict_temp = {} dict_temp[words[0]] += 1 그렇다보니 defaultdict을 모르기 이전에는 이런식으로 코드를 짠 것 같다 for word in words: if word in dict_temp.keys(): dict_temp[word] += 1 else: dict_temp[word] = 1 이런 번거로움..
1. Compiled Languages Example : C, C++, Swift, Go Compiled on OS directly. => They needed to be compiled to transform the source code to Machine code that CPU can execute. After the compilation, we need to build compiled file like EXE type to execute the source code. Good Point : Very fast -> They are good to deal with the data Bad Point : They need different compiler by each OS (Swift is compil..
import heapq INF = int(1e9) n, m = map(int, input().split()) graph = [[] for _ in range(n+1)] for i in range(m): a, b = map(int, input().split()) graph[a].append((b, 1)) graph[b].append((a, 1)) distance = [INF]*(n+1) start = 1 def dijkstra(start): # 다익스트라 q = [] heapq.heappush(q, (0, start)) distance[start] = 0 while q: dist, now = heapq.heappop(q) if dist > distance[now]: continue for i in grap..
Python에서 이진탐색을 라이브러리로 제공한다 ! bisect 라이브러리는 정렬된 배열 내에서 특정 원소를 찾을 때 O(logN)으로 동작한다. bisect_left() 함수 : 정렬된 순서를 유지하면서, 리스트 a에 데이터 x를 삽입할 가장 왼쪽 인덱스를 찾는 메소드 bisect_right() 함수 : 정렬된 순서를 유지하면서, 리스트 a에 데이터 x를 삽입할 가장 오른쪽 인덱스를 찾는 메소드 중요한건 정렬된 순서를 유지! 하면서 인덱스를 찾는것이다 예를 들어 리스트 [1, 2, 4, 4, 8] 이 있다면 bisect_left(a, 4)는 리스트에서 4가 처음으로 등장하는 위치인 2를 반환한다. 그리고 bisect_right(a, 4) 는 리스트를 4가 마지막으로 등장하는 위치 인덱스 +1 의 위치인..
코딩 문제 풀 때 굉장히 알아두면 유용한! 문자열을 다룰 때 쓰이는 join 함수 1. 형태 string.join(iterable) 여기서 string 에 들어가는 문자열은 구분자이다. 물론 "".join(iterable) 이렇게 빈 문자열을 붙일 수도 있다. 2. 예시 i) 문자열 리스트를 하나로 합치기 myNumber = ['1','2','3','4','5'] print("".join(myNumber)) ii) 공백 문자를 사이에 두고 문자열 리스트를 하나로 합치기 myNumber = ['1','2','3','4','5'] print("_".join(myNumber)) myStr = ["Hello", "My", "Name", "is", "Minjee"] print("!!!!!!".join(myStr)..
minjiwoo
'Programming Languages' 카테고리의 글 목록 (2 Page)