자료구조 & 알고리즘
Tool Box 3
콜라츠 추측(짝수면 / 2 홀수면 3n + 1로 최종값은 결국 1이 됨) """ 입출력 예 nresult 10[10, 5, 16, 8, 4, 2, 1] """ def solution(n): answer = [n] while n != 1: if n % 2 == 0: n = n // 2 else: n = 3 * n + 1 answer.append(n) return answer 주사위 문제 (총 4개의 주사위를 굴려서 값이 4개 혹은 3개 혹은 2개씩 같은 경우) def solution(a, b, c, d): # 주어진 주사위 숫자들을 정렬하여 작은 숫자부터 처리하기 위해 준비합니다. dice = sorted([a, b, c, d]) # 모든 주사위의 숫자가 동일한 경우 if dice[0] == dice[3]..
Tool Box 2
인접한 원소들의 차이를 확인 한 수 조작 def solution(numLog): answer = [] for i in range(1, len(numLog)): minus = numLog[i] - numLog[i - 1] if minus == 1: answer.append("w") elif minus == -1: answer.append("s") elif minus == 10: answer.append("d") elif minus == -10: answer.append("a") return "".join(answer) 리스트의 값을 다른 리스트의 값으로 대체 arr[0, 1, 2, 3, 4] queries[[0, 3],[1, 2],[1, 4]] 결과 [3, 4, 1, 0, 2] def solution(ar..
Tool Box
대문자 → 소문자, 소문자 → 대문자 str = input() str = str.swapcase() str = input() a = "" for i in str: if i.isupper(): a = a + i.lower() else: a = a + i.upper() print(a) 일부 특수문자 출력 작은따옴표('), 큰따옴표(") 같은 경우 백슬래시(\)를 활용 ex) \'\" print("!@#$%^&*(\\'\"?:;)") 양쪽 공백 제거, 개행문자(\n) 제거 s = " Hello World " s = s.strip() # 양쪽 공백 제거 print(s) 홀짝구분 a = int(input()) if a % 2 == 0: print(f"{a} is even") else: print(f"{a} is ..
![자료구조 : 큐 (Quene)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fwg1h4%2FbtroABhMKI2%2FKv4GUnt17uzCXQpncKk9z0%2Fimg.png)
자료구조 : 큐 (Quene)
큐(Quene)란 무엇인가? 큐란 가장 먼저 넣은 데이터를 가장 먼저 꺼내는 구조를 말한다. 이를 선입선출(FIFO)라 한다. 큐에 데이터를 넣는 기능을 Enqueue라 하고 큐에서 데이터를 꺼내는 기능을 Dequene라 한다. 큐는 주로 프로세스 스케쥴링 방식을 구현하기 위해 사용된다. 큐의 기본적인 구조는 다음과 같다. 우선순위 큐(Priority Queue) 우선순위 큐는 기존의 큐와는 다르게 값을 식별하고 검색하는데 사용하는 키(key) 와 실제 데이터를 의미하는 값(value)으로 큐의 요소들을 정렬한다. 이러한 요소들은 우선순위가 있으며 들어온 순서대로 삭제되는 것이 아니라 우선순위에 따라 큐에서 먼저 삭제된다. 우선순위 큐는 데이터 압축, 네트워킹등의 분야에서 사용된다. Python 에서의 ..