바킹독님의 강의를 참고하였습니다. https://blog.encrypted.gg/category/강좌/실전%20알고리즘 '강좌/실전 알고리즘' 카테고리의 글 목록 blog.encrypted.gg + 해당 카테고리엔 알고리즘 문제풀이와 관련된 내용을 업로드. + 기록해두고 싶은 부분만 정리해 둠. 정의&성질 스택 한쪽 끝에서만 원소를 넣거나 뺄 수 있는 자료구조. 프링글스 통을 생각하면 된다. 생각을 해보면, 자명하게 위의 모든 경우들이 이해가 된다. 성질 4번(제일 상단이 아닌 나머지 원소들의 확인/변경이 원칙적으로 불가능) 의 뜻을 잘 이해할 필요가 있는데, 원래 스택이라는 자료구조는 원소의 추가/제거/제일 상단의 원소 확인의 기능만 제공하는 자료구조이다. 따라서, 위 성질은 스택에서 제공하는 기능이 ..
바킹독님의 강의를 참고하였습니다. https://blog.encrypted.gg/category/강좌/실전%20알고리즘 '강좌/실전 알고리즘' 카테고리의 글 목록 blog.encrypted.gg + 해당 카테고리엔 알고리즘 문제풀이와 관련된 내용을 업로드. + 기록해두고 싶은 부분만 정리해 둠. 정의&성질 연결리스트 원소들을 저장할 때 그다음 원소가 있는 위치를 포함시키는 방식으로 저장하는 자료구조. 위 사진처럼, 배열은 0,1,2,3번에 사람들을 넣어두는 반면, 연결 리스트는 배열사진에서의 0번에 해당하는 사람이 1번을 기억하고, 1번이 2번을 기억하는, 구조이다. => 이렇게 되면 0번을 통해 나머지 3명이 누구인지 전부 알아낼 수 있게 된다. 연결리스트에서 k번째 원소를 찾기 위해선 O(k)의 시간..
바킹독님의 강의를 참고하였습니다. https://blog.encrypted.gg/category/강좌/실전%20 알고리즘 '강좌/실전 알고리즘' 카테고리의 글 목록 blog.encrypted.gg + 해당 카테고리엔 알고리즘 문제풀이와 관련된 내용을 업로드. + 기록해두고 싶은 부분만 정리해 둠. 정의&성질 음 그러하다. 배열은 메모리 상에 원소를 연속하게 배치한 자료구조라서, k번째 원소의 위치를 바로 계산할 수 있다. 시작 주소에서 k칸만큼 오른쪽으로 가면 되기 때문. => 그러기에 k번째 원소를 O(1)에 확인하거나 변경할 수 있다. 배열은 다른 자료구조와 다르게 추가적으로 소모되는 메모리의 양이 거의 없다. 메모리 상에 데이터들이 붙어있으므로 Cache hit rate 가 높다. 메모리 상에 연속..
바킹독님의 강의를 참고하였습니다. https://blog.encrypted.gg/category/강좌/실전%20알고리즘 '강좌/실전 알고리즘' 카테고리의 글 목록 blog.encrypted.gg + 해당 카테고리엔 테스트에 필요한 내용만 정리할 예정. + 기록해두고 싶은 부분만 정리해 둠. 표준 입출력 코딩테스트에서 입력/출력은 표준 입출력을 사용한다. C에서는 scanf/printf , C++에서는 cin/cout을 사용하는데 scanf/printf 는 C++ string을 처리할 수 없다.(char* 로 문자열을 다룸, C++ string이 월등하게 편함.) => scanf/printf를 사용하면서도 C++ string을 활용하고 싶으면 char*로 입력을 받고 string으로 형변환을 해서 c_st..
바킹독님의 강의를 참고하였습니다. https://blog.encrypted.gg/category/강좌/실전%20알고리즘 '강좌/실전 알고리즘' 카테고리의 글 목록 blog.encrypted.gg + 해당 카테고리엔 알고리즘 문제풀이와 관련된 내용을 업로드. + 기록해두고 싶은 부분만 정리해 둠. 시간복잡도 시간복잡도 입력의 크기와 문제를 해결하는 데 걸리는 시간의 상관관계. ex) N초, lgN 초 빅오표기법 주어진 식을 가장 큰 대표항만 남겨서 나타내는 방법. (살짝 미적분이랑 비슷하다고 생각함. ex) N² + 2N + 4에서 N²가 훨씬 크니(증가속도가 크니) O(N²)로 표기함) 시간복잡도를 그래프로 나타낸 모습. 알고리즘 문제에서 주어지는 시간제한은 대부분 1초에서 5초 사이 정도이니, 입력의 ..
중앙해커톤 전에, 교내에서 진행한 해커톤 프로젝트를 하며 느낀 점을 정리해보려 한다 ⭐️ 프로젝트 주제 OTT를 다시 보며 시청자들끼리 잡담할 수 있는 실시간 채팅 플랫폼 📎 깃허브 링크 https://github.com/soozzang/Breeze_BE GitHub - soozzang/Breeze_BE: OTT 실시간 채팅 웹 서비스 Breeze OTT 실시간 채팅 웹 서비스 Breeze. Contribute to soozzang/Breeze_BE development by creating an account on GitHub. github.com ✔️ 맡은 기능 CRUD 및 회원 데이터베이스 관리 웹소켓을 이용한 실시간 채팅 구현 https://imsoohyun.tistory.com/3 [Django..
멋쟁이사자처럼 중앙 해커톤에서 시각장애인들을 위한 모의투자 서비스를 개발하는 과정에서, 시각장애인들은 타자로 검색할 수 없으니 음성으로 검색을 해야 하기에, 네이버 클라우드에서 제공하는 Clova를 이용하게 되었다(Speech To Text) https://www.ncloud.com/product/aiService/clovaSpeech NAVER CLOUD PLATFORM cloud computing services for corporations, IaaS, PaaS, SaaS, with Global region and Security Technology Certification www.ncloud.com 위 링크에서 이용신청 후 등록하면, 이렇게 Client ID와 Client Secret Key들을 ..
멋쟁이사자처럼 중앙해커톤의 주제가 시각장애인들을 위한 모의투자 서비스인데, 시각장애인이 주식차트(그래프)를 볼 수 없으므로, 그래프 높이(값)들의 높낮이를 음으로 변환하여 들려주는 과정이 필요하여 음향화 작업을 진행하게 되었다. 주가 데이터 받아오기 https://imsoohyun.tistory.com/7