일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 릿코드
- 카카오 코딩테스트
- leet code
- 독서노트
- IOS
- 스위프트
- 프로그래머스
- 코테준비
- Trie
- 코딩테스트
- PYTHON
- 코테
- 컨볼루션
- 알고리즘 문제풀이
- dft
- backjoon
- SWIFTUI
- DTFT
- 신호처리
- Leet Coding Challenge
- DSP
- 알고리즘
- 이산신호처리
- 백준
- 알고리즘문제풀이
- 전자공학
- SWIFT
- 트라이
- leetcode
- 파이썬
- Today
- Total
목록분류 전체보기 (99)
매일 매일 성장하는 섭섭군
programmers.co.kr/learn/courses/30/lessons/60059 코딩테스트 연습 - 자물쇠와 열쇠 [[0, 0, 0], [1, 0, 0], [0, 1, 1]] [[1, 1, 1], [1, 1, 0], [1, 0, 1]] true programmers.co.kr 문제요약 이번에 풀어본 문제는 2020 카카오 블래인드 채용 코딩테스트에서 출제되었던 문제입니다. 이차원 배열인 Key 와 Lcok이 주어집니다. 각 배열은 0 과 1로 구성되어 있습니다. Key를 회전시키거나 이동하여 Lock에 맞다면 True를 Reutrn 하고 맞지 않는다면 False를 리턴합니다. Key는 Lock을 벗어나도 됩니다. 문제풀이 IDEA 본 문제를 풀때 눈여겨 봐야할 것이 N,M의 크기입니다. 둘다 20..
leetcode.com/explore/interview/card/top-interview-questions-medium/103/array-and-strings/778/ Explore - LeetCode LeetCode Explore is the best place for everyone to start practicing and learning on LeetCode. No matter if you are a beginner or a master, there are always new topics waiting for you to explore. leetcode.com 문제요약 이번 문제는 단어들을 같은 알파벳을 사용한 것 끼리 묶는 것 입니다. 예시를 보면 알 수 있듯이 'a', 'e', 't' 를 사용..
정렬 (Sorting) 정렬은 가장 기초적이면서도 많이 사용하는 알고리즘 입니다. 이미 좋은 정렬 함수들이 많이 존재하고 있어서 직접 만들어서 사용한 경우는 적은 편 입니다. 가장 기초적인만큼 어떤 정렬 알고리즘이 있는지 알고 넘어가면 좋을 것 같습니다. 이번 포스팅에서는 기초적인 알고리즘 3가지를 알아보도록 하겠습니다. 선택정렬(Selection Sort) 버블정렬(Bubble Sort) 삽입정렬(Insertion Sort) 선택정렬 (Selection Sort) 선택정렬은 자리를 선택한 후 해당 자리에 올 요소를 집어넣는 경우입니다. 오름차순으로 정렬을 잰행한다면 첫번째 인덱스에는 가장 작은수를 찾아서 넣고, 두번째 인덱스도 두번째 인덱스부터 가장 작은 수를 찾아서 정렬합니다. 다음 그림을 보면 이해..
트리(Tree) 트리(Tree)란 무엇일까? 자료구조, 코딩문제 등을 보다보면 트리라는 말이 자주 들린다. 트리는 노드(Node)란 것으로 이루어진 자료구조이며 다음과 같은 개념으로 정리된다. - 노드들 간에 1:N 관계를 가지는 비선형 자료구조 - 원소들 간에 계층관계를 가지는 계층형 자료구조 - 상위 원소에서 하위 원소로 내려가면서 확장되는 자료구조처음 트리를 접한다면 무슨 말인지 이해가 잘 안갈 수 있으니 다음 그림을 보면서 함께 이해해 보자!! 나무(Tree) 그림이다. 큰 줄기에서부터 시작해서 가지를 거쳐 나뭇잎들을 가지고 있다. 트리 자료구조는 나무와 같은 모양이라 "Tree"라는 이름이 붙혀졌다. 용어들도 실제 나무가 가지고 있는 것과 거의 일치한다. 실제 자료구조에서 좀 더 이해하기 쉽도록..
Git 과 GitHub는 무엇일까? Git은 버전관리시스템(VCS, Version Control System) 프로그램입니다. GitHub는 Git을 업로드 할 수 있는 웹사이트 중 하나입니다. 그렇다면 버전관리시스템이란 무엇일까요? Git이 메인이니 간략하게 설명하도록 하겠습니다. ✓ 버전관리시스템(VCS, Version Control System) 버전관리시스템이란 말 그대로 버전을 관리하는 시스템입니다. 이력서, 자기소개서, PPT등 서류 작업을 할때 이런 제목들을 사용해 보신 적이 있나요? "최종 발표 PPT.pptx" "진짜 최종 발표 PPT.pptx" "진짜진짜최종 발표 PPT.pptx" "이게 진짜최종 발표 PPT.pptx"딱 봐도 뭔가 최종으로 완료된 PPT인지 햇갈립니다. 이러한 것을 다..
Trie(트라이) Trie의 개요 Trie 는 트리 자료구조 중 하나이다. 특히 여러개의 문자열을 저장하는 자료구조인데 특정 문자열을 검색할 때 효율적이다. 가령 최대 길이가 m인 문자열 n개가 있는 집합에서 길이가 m인 임의의 문자열이 있는지 확인하려면 어떻게 해야할까? 단순히 직관적인 방법으로 하나씩 꺼내서 비교하면 된다. 하지만 최악의 경우 O(nm)의 시간복잡도가 소요된다. 그렇다면 Trie는 어떻게 문자열을 저장하길레 문자열을 검색할때 효율적일까? 바로 우리가 사전에서 단어를 찾듯이 문자열을 저장한다. 우리는 사전에서 "Apple"이란 단어를 찾을 때 다음과 같이 찾을것이다. 1. A가 있는 곳을 찾는다. 2. 두번째 글자가 p인 곳을 찾고 세번째가 p인 곳을 찾는다. 3. 마지막 글자까리 위와..
programmers.co.kr/learn/courses/30/lessons/60060# 코딩테스트 연습 - 가사 검색 programmers.co.kr 문제 개요 이번에 풀어볼 문제는 2020 Kakao 블라인드 채용에 출제되었던 가사 검색이란 문제입니다. queries에 있는 '?'가 섞인 문자열이 있는데 각 해당하는 문자열이 words에 있는 것과 몇개나 매칭이 되는지 알아봐야 합니다. 단순하게 모든 문자열을 비교한다면 풀릴 것 같은 문제입니다. 하지만 그렇게 한다면 시간은 굉장히 오래걸리게 됩니다. 문제 풀이 IDEA 문자열들이 있는 집합에서 특정 문자열을 효율적으로 검색하기 위해서 Trie 라는 자료구조를 사용 할 것 입니다. Trie 에 대한 설명은 다음 링크에 있습니다. 설명보기 queries..
programmers.co.kr/learn/courses/30/lessons/12936 코딩테스트 연습 - 줄 서는 방법 n명의 사람이 일렬로 줄을 서고 있습니다. n명의 사람들에게는 각각 1번부터 n번까지 번호가 매겨져 있습니다. n명이 사람을 줄을 서는 방법은 여러가지 방법이 있습니다. 예를 들어서 3명의 사람 programmers.co.kr 문제 요약 서로다른 자연수 n 개를 나열하는 방법의 수 중 k 번째 수는 무엇인지 확인하는 문제이다. 모든 경우를 나열한 후 사전순으로 정렬 할 수 있지만 시간이 너무 오래 걸리는 문제가 발생한다. 그러므로 우리는 바로 K 번째 수를 구할 수 있어야 한다. 문제풀이 아이디어 서로다른 n개의 자연수로 이루어진 수열의 맨 앞자리가 수가 같은 경우는 한정되어 있다. ..