728x90

Programming 46

[Python] Counter: list 요소 개수 세어서 dictionary로 출력

리스트의 모든 요소의 개수를 세서 dictionary로 출력하기를 원한다면 Counter을 사용하면 된다. collections 모듈 내에 존재하므로 import collections를 해주어야한다. import collections list1 = [1, 2, 10, 1, 4, 10, 2, 1, 1, 10] print(collections.Counter(list1)) ''' >> Counter({1: 4, 10: 3, 2: 2, 4: 1})''' list2 = [1, 2, 10, 1, 4, 10, 2, 1, 1] print(collections.Counter(list2)) ''' >> Counter({1: 4, 2: 2, 10: 2, 4: 1})''' - 두 Counter 비교하기 print(collec..

Programming/Python 2021.07.11

[Python] 딕셔너리 dictionary

딕셔너리(dictionary): key-value 쌍으로 데이터를 저장하는 자료구조 딕셔너리 = {key : value} 딕셔너리 = {key1:value1, key2:value2, key3:value3, key4:value4} key를 이용해 value에 접근이 가능하다. (key 값은 중복이 될 수 없다.) 1. 딕셔너리 생성 # 딕셔너리 생성 d = { 'key1' : 1 } 2. 값 추가 # 값 추가 d['key2'] = 2 d['key3'] = 'value3' d[4] = 4 d[(5,6)] = 'value 5 and 6' #튜플 키 d['key7'] = (7, 8) #튜플 값 3. 전체 출력, key만 출력, value만 출력, key-value 쌍 출력, key로 value 출력 #전체 출력..

Programming/Python 2021.07.11

[Algorithm] 이진 탐색

- 순차 탐색 (O(N)) 리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 차례대로 확인하는 방법 #순차 탐색 소스코드 구현 def sequential_search(n, target, array): #각 원소를 하나씩 확인하며 for i in range(n): #현재의 원소가 찾고자 하는 원소와 동일한 경우 if array[i] == target: return i+1 #현재의 위치 반환(인덱스는 0부터 시작하므로 1 더하기) print("생성할 원소 개수를 입력한 다음 한 칸 띄고 찾을 문자열을 입력하세요.") input_data = input().split() n = int(input_data[0]) #원소의 개수 target = input_data[1] #찾고자 하는 문자열 p..

[Python] 코드업 기초 100제

코딩테스트 스터디 1주차로 코드업 기초 100제를 풀어보고 있다. 쉬운 내용이긴 하지만 분명히 허점도 있을 것이기에 기초를 다지자 하는 마음에서 풀고 있다. 🔎 코드업 기초 100제를 풀며 알아두면 좋을 것 정리 1. 입출력 \도 안전하게 출력하려면 \\를 사용하는 것이 좋다. input().split(':') 를 사용하면 콜론 ':' 기호를 기준으로 자른다. print(?, ?, sep=':') 를 사용하면 콜론 ':' 기호를 사이에 두고 값을 출력한다 2. 출력 변환 print('%x' %n) #n에 저장되어있는 값을 16진수(hexadecimal) 소문자 형태 문자열로 출력 print('%X' %n) #n에 저장되어있는 값을 16진수 대문자 형태 문자열로 출력 10진수 형태로 입력받고 %x로 출력하..

Programming/Python 2021.07.01

[Algorithm] 정렬을 파이썬으로 구현(선택정렬, 삽입정렬, 퀵정렬, 계수정렬)

선택 정렬(Selection Sort) array = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8] for i in range(len(array)): min_index = i for j in range(i+1, len(array)): if array[min_index] > array[j]: min_index = j array[i], array[min_index] = array[min_index], array[i] #스와프 print(array) 삽입 정렬(Insertion Sort) array = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8] for i in range(1, len(array)): for j in range(i, 0, -1): #인덱스 i부터 1까지 감소하며 반복하는 문..

728x90