Algorithm

    Defaultdict, dict  sort  딕셔너리 정렬방법

    Defaultdict, dict sort 딕셔너리 정렬방법

    sorted(dict) 을 하게 되면 해당 딕셔너리의 키값들만 가져와서 정렬해준다. test = {'yellow': [1, 3], 'blue': [2, 4], 'red': [1]} print(test) print(sorted(test)) print(sorted(test.items())) print(dict(sorted(test.items()))) >>> {'yellow': [1, 3], 'blue': [2, 4], 'red': [1]} >>> ['blue', 'red', 'yellow'] >>> [('blue', [2, 4]), ('red', [1]), ('yellow', [1, 3])] >>> {'blue': [2, 4], 'red': [1], 'yellow': [1, 3]} 키를 기준으로 딕셔너리를 ..

    How to list in dict ?  리스트를 딕셔너리로

    How to list in dict ? 리스트를 딕셔너리로

    How to list in dict ? 리스트를 딕셔너리로 만들기 Defaultdict class collections.defaultdict([default_factory[, ...]]) default_factory : defaultdict()에서 ()안에 있는 형태를 의미한다. list, int, set 등 딕셔너리에 값으로 넣고 싶은 형을 선택하여 선언하면 된다. 순서가 없다. 👉 정렬하는 방법? 💰 List(list) 👉 dict(list) #먼저 defaultdict 가 있어야 한다. from collections import defaultdict sample1 = [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] # defaultdict의 de..

    Kotlin 조건문

    Kotlin 조건문

    가정문 fun main(args: Array) { val num = -7 if (num > 0) { println("Positive") } else if (num 0) "Positive" else "Negative" println(result) } 코틀린은 변수명에 가정문을 반영 할 수 있다. When 가정문 fun main(args: Array) { val num = -7 val result = when { num > 0 -> "Positive" num ..

    Kotlin 기본 변수 및 연산자

    Kotlin 기본 변수 및 연산자

    변수- var num : Int = 4 var 는 변형 가능한 변수를 뜻한다. - val course : String = "Kotlin" val 는 변형 불가능한 변수를 뜻한다. - var a = "ant" 코틀린에서는 형을 명시하지 않아도 추측하여 변수가 선언된다. 연산자 - 8 + 2 = 10 - 8 - 2 = 6 - 8 * 2 = 16 - 8 / 2 = 4 몫 - 8 %2 = 0 나머지 - "abc" + "def" = "abcdef" +는 문자열도 산술 연산이 가능하다. var num = 1 num++ num-- num += 1 num -= 2 num *= 3 다양한 방식으로 표기가 가능하다. 입력 - var what = readline() readline으로 입력을 받을 수 있다. 파이썬에서 in..

    🧩 코딩 테스트 정복기 @21#B*06

    🧩 코딩 테스트 정복기 @21#B*06

    파이썬 알고리즘 인터뷰 📚📚📚👈🏻 책 구매 링크 🤴🏻👸🏻👵🏻👴🏻 👈🏻 소스코드 깃허브 😥😱🤪👈🏻 책 정오표 🏓📡📺 👈🏻 유투브 채널 문자열 조작 String Manipulation 문자열을 변경, 분리하는 등의 여러 과정을 말한다. 코테에서도 문자열 조작은 매우 빈번하게 출제되는 주제 중 하나이다. 특히 실무에서도 다양한 분야에 쓰이는 상당히 실용적인 주제이다. 문자열 처리와 관련한 알고리즘이 쓰이는 대표적인 분야. 1. 정보처리 분야 : 키워드 탐색 시, 문자열 처리 앱을 이용하게 된다. 특히 현대의 거의 모든 정보는 문자열로 구성되어 있으며 문자열 처리는 정보처리에 핵심이다. 2. 통신시스템 분야: 데이터 전송에서 문자열 처리는 매우 중요하다. 문자, 이메일 등에 기본적으로 사용된다. 3. 프로그래밍..

    [백트래킹] 퇴각검색

    [백트래킹] 퇴각검색

    BackTracking 백트래킹 = 퇴각검색 백트래킹은 한정 조건을 가진 문제를 풀려는 전략이다. 1950년대 미국 수학자 D.H.레머가 만들었다. 한정 조건을 가진 경우 원소의 순서는 해결 방법과 무관하다. 이런 문제는 변수 집합으로 이뤄지는데, 한정 조건을 구성하려면 각가의 변수들을 값이 있어야 한다. 퇴각 검색은 모든 조합을 시도해서 문제의 해를 찾는다. 이것이 장점이 될 수 있는 이유는 퇴각검색 구현 방법들이 많은 부분 조합들을 배제하기때문이다. 결국 풀이 시간이 단축된다. 주요 개념은 해를 얻을 때까지 모든 가능성을 시도한다는 점이다. 모든 가능성은 하나의 트리처럼 구성할 수 있으며, 가지 중에 해결책이 있다. 트리를 검사하기 위해 DFS를 사용한다. 탐색 중 오답을 만나면 이전 분기점으로 돌아..

    🧩 코딩 테스트 정복기 @21#B*05

    🧩 코딩 테스트 정복기 @21#B*05

    파이썬 알고리즘 인터뷰 📚📚📚👈🏻 책 구매 링크 🤴🏻👸🏻👵🏻👴🏻 👈🏻 소스코드 깃허브 😥😱🤪👈🏻 책 정오표 🏓📡📺 👈🏻 유투브 채널 리스트 List 순서대로 저장하는 시퀀스이자 변경 가능한 목록을 말한다. 입력 순서가 유지되며, 내부적으로 동적 배열로 구현되어있다. 파이썬의 리스트는 큐와 스택에서 사용가능한 모든 연산을 제공하고 있다. 엄청나게 편한 것이다. 연산 시간 복잡도 설명 len(a) O(1) 전체 요소의 갯수 a[i] O(1) 인덱스 i의 값 a[i : j] O(k) i 부터 j까지 슬라이스의 길이만큼인 k개의 요소들 elem in a O(n) elem요소가 존재하는 지 확인, 순차탐색이므로, n만큼 소요 a.count(elem) O(n) elem요소의 갯수를 리턴 a.index(elem) O..

    🧩 코딩 테스트 정복기 @21#B*04

    🧩 코딩 테스트 정복기 @21#B*04

    파이썬 알고리즘 인터뷰 📚📚📚👈🏻 책 구매 링크 🤴🏻👸🏻👵🏻👴🏻 👈🏻 소스코드 깃허브 😥😱🤪👈🏻 책 정오표 🏓📡📺 👈🏻 유투브 채널 빅오, 자료형 Big-O 빅오는 입력값이 커질 때 알고리즘의 실행 시간과 함께 공간 요구사항이 어떻게 증가하는지를 분류하는데 사용한다. (간단히 말하면 알고리즘의 효율성을 평가하는 척도라고 보면된다.) 시간 복잡도 Time Complexity 어떤 알고리즘을 수행하는 데 걸리는 시간을 설명하는 계산 복잡도를 의미한다. Computational Complexity 계산 복잡도를 표기하는 대표적인 방법이 빅오인 것이다. O(1) : 입력이 아무리 커져도 일정하다는 의미이다. 최고의 알고리즘. 이상적인 알고리즘이다. O(log n) : 로그는 매우 큰 입력값에도 크게 영향을 받지..