코딩테스트 연습 - \[3차] 자동완성입력된 문자열 중 어떤 단어가 다른 단어의 접두어 가 되는 경우를 찾는 문제였다.접두어라면 반사적으로 prefix tree, 즉, Trie가 생각나 Trie로 구현하였다.for k in key:k가 현재 노드의 자식에 없을 때 (즉
https://programmers.co.kr/learn/courses/30/lessons/42577이전에 같은 문제를 Hash를 이용해서 풀었던 적이 있는데 Trie로도 풀 수 있다고 해서 다시 풀어보았다. \[hash]프로그래머스\_전화번호 목록이전 풀이의
Room Persistence Library구글에서 제공하는 ORM다른 ORM으로는 Realm이 있다기기에 데이터를 저장하고자 할 때 사용구성 요소Room DataBase기본 SQLite 데이터베이스에 대한 엑세스 포인트 역할데이터베이스 작업 단순화DAO를 사용해서 S
Stack이란 말처럼 데이터를 착착 쌓아올린다는 뜻이다. 차곡차고 쌓여진 책들을 생각하면 되는데 새로운 책은 가장 위에 있기때문에 눈에 보이는 책을 집으면 되지만 위에서부터 n번째에 있는 책을 찾는다면 n-1개의 책들을 들어올리고 나서야 n번째 책을 찾을 수 있다.
차례로 연결된 노드를 표현해주는 자료구조img이미지 출처: https://freestrokes.tistory.com/84노드: 값과 다음 노드의 주소를 가리키는 포인터로 구성된다Head 노드가 가리키는 노드가 첫번째 노드노드의 포인터가 null이면 그 노드는
img이미지 출처: https://ghgus0702.tistory.com/11정적(Static) 할당컴파일 타임(소스코드 ---> 기계어 변환과정) 에서 진행된다프로그램이 끝날때까지 저장된 변수가 유효하다동적(Dynamic) 할당런타임 (프로그램 실행중) 에서
동적가변크기 배열: 입력된 데이터에 따라 동적으로 크기가 변하는 배열일반적으로는 O(1)배열의 용량이 꽉 찼을때어레이 리스트는 기존보다 2배 더 큰 배열을 생성하고 이전 배열의 모든 원소를 새 배열로 복사한다. O(2N) = O(N)전체 삽입 시간은?상환시간 --->
해시 테이블은 Key에 Value를 저장하는 자료구조1iHTnDFd3sR5FqjHD1FDu9A해시 테이블은 key, hash 함수, 해시, value, 저장소(bucket, slot) 으로 구성된다.key는 hash 함수를 통해 hash로 변경되며 hash는 값과 매칭
https://programmers.co.kr/learn/courses/30/lessons/43163프로그래머스 Lv3 단계답지 않게 꽤 간단한 문제였다.begin에서 시작해서 target을 찾을 때 까지 words라는 트리를 순회하기만 하면 된다.단어를 바꾸
https://www.acmicpc.net/problem/2667Vacuous truth: 공진리가정이 모순이라면 주장이 무엇이든 상관없이 참이 되는 것.연결된 집들의 모임: 단지연결됨: 어떤 집이 상||하||좌||우로 연결되어있는 경우 집이 1개일때가 단지인
문제: https://www.acmicpc.net/problem/2178이 문제는 아주 기본적인 bfs 문제였다. 최단거리는 거의 무조건 bfsbfs는 큐를 사용해서방향은 dy, dx 배열을 이용해서 for i range(4)
문제: https://programmers.co.kr/learn/courses/30/lessons/42889fail_s.append(\[num, now_s\[num] / try_s\[num]])에서 try_snum이 0이라서 division by zero에러가
문제: https://www.acmicpc.net/problem/1655 Wrong Access 문자를 읽을때마다 리스트에 넣고 sort를 하고 나서 가운데 있는 글자를 반환하는 코드를 짰다. 그랬더니 시간초과가 나왔다 Oops! 일단 짜보고 안되면 그때서야 최선의
https://programmers.co.kr/learn/courses/30/lessons/60057 예전에 풀었던 코드
https://programmers.co.kr/learn/courses/30/lessons/42577문자열의 길이별로 나열해서 i번째의 number는 i+1부터 끝까지 서치하도록 한다.phone_book 리스트의 전체를 순회하며 해당 number (코드에서는
문제 설명 https://programmers.co.kr/learn/courses/30/lessons/43162 풀이 과정 Wrong Access 2시간 미만의 시간을 잡고 풀었지만 시간이 2배 이상 걸렸다. 시간조절 실패의 패인은 무엇이었을까?
나에게 problem solving 공부방법은 학창시절 수능수학을 공부하던 그것과 같다. 방법은 아주 간단하다 PS 개념을 공부한다. 이를테면 BFS, DFS, DP 뭐 이러한 알고리즘 수업시간에 배웠던 개념들을 설명하는 영상을 보면서 알고리즘의 동작방법을 익힌다 [
깊이/너비 우선 탐색(DFS/BFS) >타겟 넘버https://programmers.co.kr/learn/courses/30/lessons/43165입출력 예시가 이것 딱 하나여서 처음에는 하나의 숫자 n개를 가지고 target이 나오는 조합을 찾으라는건가 싶
오늘의 교훈: 백준을 풀때는 출력 내역을 아주아주 유심히 살펴보자^^모든 예제가 다 맞았는데 채점만 하면 20%도 안돼서 틀리는거에요.. 반례가 있나 하면서 온갖 TC를 다 찾아서 넣어봤는데도 다 정답이 나오는데 뭐가 문제지? 했는데..알고리즘적 문제는 없고 그냥 백준
나는 DP를 좋아한다. 수험생때 수열을 아주 많이 공부했는데 그때 생각이 나는것같아서 마음이 편해진다. 알고리즘 수업들을때 이후로 dp문제를 아주 오랜만에 풀어봤는데 dp의 상징인 0-1 knapsack problem을 풀어보았다. dp에 대한 감을 찾고자 여러가지 방