전체 글

Problem Solving/DataStructure

[(PS)DataStructure] 스택

바킹독님의 강의를 참고하였습니다. https://blog.encrypted.gg/category/강좌/실전%20알고리즘 '강좌/실전 알고리즘' 카테고리의 글 목록 blog.encrypted.gg + 해당 카테고리엔 알고리즘 문제풀이와 관련된 내용을 업로드. + 기록해두고 싶은 부분만 정리해 둠. 정의&성질 스택 한쪽 끝에서만 원소를 넣거나 뺄 수 있는 자료구조. 프링글스 통을 생각하면 된다. 생각을 해보면, 자명하게 위의 모든 경우들이 이해가 된다. 성질 4번(제일 상단이 아닌 나머지 원소들의 확인/변경이 원칙적으로 불가능) 의 뜻을 잘 이해할 필요가 있는데, 원래 스택이라는 자료구조는 원소의 추가/제거/제일 상단의 원소 확인의 기능만 제공하는 자료구조이다. 따라서, 위 성질은 스택에서 제공하는 기능이 ..

Problem Solving/Algorithm

[Algorithm] 연결리스트

바킹독님의 강의를 참고하였습니다. https://blog.encrypted.gg/category/강좌/실전%20알고리즘 '강좌/실전 알고리즘' 카테고리의 글 목록 blog.encrypted.gg + 해당 카테고리엔 알고리즘 문제풀이와 관련된 내용을 업로드. + 기록해두고 싶은 부분만 정리해 둠. 정의&성질 연결리스트 원소들을 저장할 때 그다음 원소가 있는 위치를 포함시키는 방식으로 저장하는 자료구조. 위 사진처럼, 배열은 0,1,2,3번에 사람들을 넣어두는 반면, 연결 리스트는 배열사진에서의 0번에 해당하는 사람이 1번을 기억하고, 1번이 2번을 기억하는, 구조이다. => 이렇게 되면 0번을 통해 나머지 3명이 누구인지 전부 알아낼 수 있게 된다. 연결리스트에서 k번째 원소를 찾기 위해선 O(k)의 시간..

Problem Solving/DataStructure

[(PS)DataStructure] 배열 (+vector)

바킹독님의 강의를 참고하였습니다. https://blog.encrypted.gg/category/강좌/실전%20 알고리즘 '강좌/실전 알고리즘' 카테고리의 글 목록 blog.encrypted.gg + 해당 카테고리엔 알고리즘 문제풀이와 관련된 내용을 업로드. + 기록해두고 싶은 부분만 정리해 둠. 정의&성질 음 그러하다. 배열은 메모리 상에 원소를 연속하게 배치한 자료구조라서, k번째 원소의 위치를 바로 계산할 수 있다. 시작 주소에서 k칸만큼 오른쪽으로 가면 되기 때문. => 그러기에 k번째 원소를 O(1)에 확인하거나 변경할 수 있다. 배열은 다른 자료구조와 다르게 추가적으로 소모되는 메모리의 양이 거의 없다. 메모리 상에 데이터들이 붙어있으므로 Cache hit rate 가 높다. 메모리 상에 연속..

Problem Solving/Algorithm

[PS] 코드 작성 시 참고사항

바킹독님의 강의를 참고하였습니다. 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..

Problem Solving/Algorithm

[PS] 시간, 공간복잡도

바킹독님의 강의를 참고하였습니다. 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..

API

[API] 음성>텍스트변환 (NaverCloud CLOVA)

멋쟁이사자처럼 중앙 해커톤에서 시각장애인들을 위한 모의투자 서비스를 개발하는 과정에서, 시각장애인들은 타자로 검색할 수 없으니 음성으로 검색을 해야 하기에, 네이버 클라우드에서 제공하는 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들을 ..

Django

[Django] 주식차트 음향화하기

멋쟁이사자처럼 중앙해커톤의 주제가 시각장애인들을 위한 모의투자 서비스인데, 시각장애인이 주식차트(그래프)를 볼 수 없으므로, 그래프 높이(값)들의 높낮이를 음으로 변환하여 들려주는 과정이 필요하여 음향화 작업을 진행하게 되었다. 주가 데이터 받아오기 https://imsoohyun.tistory.com/7

한수현입니다
개발실록