[Programmers] 숫자 문자열과 영단어
·
💯 CodingTest/Programmers
def solution(s): words = {'zero': '0', 'one':'1', 'two':'2', 'three':'3','four':'4', 'five':'5', 'six':'6', 'seven':'7','eight':'8','nine':'9'} temp = '' answer = '' for c in s: if c in words.values() : answer += c else: temp += c if temp in words.keys() : answer += words[temp] temp = '' return int(answer) 초기 words 딕셔너리에 숫자의 영문표기를 키로하고 숫자(문자열)를 값으로 가지는 딕셔너리로 초기화 temp 문자열과 answer 문자열 선언 및 각각 빈 문자..
[Programmers] 신고결과 받기
·
💯 CodingTest/Programmers
def solution(id_list, report, k): count = dict() reportCount = dict() report = list(set(report)) # 동일 신고에 대한 중복값 처리를 위해 set 변환 후 list 변환 for id in id_list: # 딕셔너리 초기화 count[id] = 0 reportCount[id] = 0 for str in report : # report에 저장된 각각의 문자열 파싱해 신고 횟수 누적 src, trg = str.split(' ') count[trg] += 1 for str in report : # src, trg = str.split(' ') if count[trg] >= k : reportCount[src] += 1 return li..
GCD & LCM(최대공약수 & 최소공배수)
·
📚 Computer Science/Algorithms
최대공약수 def GCD(num1, num2) : if num2 == 0: return num1 else : return GCD(num2, num1 % num2) 최소 공배수(LCM) LCM = (a * b) / GCD(a, b) 최대공약수 최소공배수 구하기 예제 a, b = map(int, input().split()) def GCD(num1, num2) : if num2 == 0: return num1 else : return GCD(num2, num1 % num2) print(GCD(a, b)) print((a * b) // GCD(a,b))
Cocktail Sort(칵테일 정렬)
·
📚 Computer Science/Algorithms
양방향 거품정렬 (bidirectional bubble sort)라고도 불리며 버블정렬의 변형이다. 한번의 루틴마다 방향을 바꿔 정렬하는 알고리즘이다. 버블정렬과 크게 다르지는 않지만 버블 정렬보다 빠르다. 파이썬 예제 코드 def cocktail(arr, a, b): swapped = True while swapped == True: swapped = False for i in range(a, b): if arr[i] > arr[i+1]: arr[i], arr[i+1] = arr[i+1], arr[i] if swapped == False: break swapped = False b = b - 1 for i in range(b-1, a-1, -1): if arr[i] > arr[i+1]: arr[i], ..
Bubble Sort(버블 정렬)
·
📚 Computer Science/Algorithms
Bubble Sort(버블 정렬)은 두 인접한 원소를 검사하여 정렬하는 알고리즘이다. 시간복잡도는 O(n^2) 으로 상당히 느리지만, 코드자체가 단순해서 자주 사용된다. 이때 같은 방식으로 양방향 정렬을 하게되면 칵테일 정렬이 된다. 파이썬 예제 코드 def bubbleSort(x): length = len(x)-1 for i in range(length): for j in range(length-i): if x[j] > x[j+1]: x[j], x[j+1] = x[j+1], x[j] return x