전체 글 14

코테 관해 잡담 (당신도 코테공부, 미루고 있나?)

본인은 코테공부를 매우 늦게, 대략 취업준비 1달전쯤 시작했다. (현재 2월 말 평균 30분, 레벨3 -> 평균 1시간 정도 걸린다. 위에서 말했듯이 2~3일이 -> 1시간까지 단축된거다. 이렇게 문제를 풀어볼수록 시간은 분명히 단축된다. 유형별 문제를 다 풀어봤는데도 단축되지 않는다면 3번 조언으로 가보자 초반엔 힘들수도 있으니 방학에 시작하자. 방학내에 적응이 되면 학기중에 30~60분 시간내어 한문제씩 푸는건 일도 아닐꺼다. 3. 손을 움직이자 코딩테스트의 경우 문제의 유형은 대부분 비슷하다. 문제 풀이에 사용되는 방법도 유사하다. 고등학교때, 수학 유형이 비슷비슷하고 응용했던것처럼 코테도 똑같다. 문제가 있고, 비슷한 유형은 비슷한 개념을 사용해 푸는 것처럼 말이다. (물론 의도와 다른 풀이를 사..

프로그래밍 2024.02.24

[프로그래머스] 숫자 변환하기 (레벨 2) - C++

문제 설명 자연수 x를 y로 변환하려고 합니다. 사용할 수 있는 연산은 다음과 같습니다. x에 n을 더합니다 x에 2를 곱합니다. x에 3을 곱합니다. 자연수 x, y, n이 매개변수로 주어질 때, x를 y로 변환하기 위해 필요한 최소 연산 횟수를 return하도록 solution 함수를 완성해주세요. 이때 x를 y로 만들 수 없다면 -1을 return 해주세요. 제한사항 1 ≤ x ≤ y ≤ 1,000,000 1 ≤ n curCount + 1) { numQueue.push({curX + n, curCount + 1}); checked[curX+n] = curCount+1; } if(curX * 2 curCount + 1) { numQueue.push({c..

프로그래밍 2024.02.23

기프티쇼 비즈 API (에러해결)

현재 개발중인 앱에 기프티쇼 API 를 사용해 개발중에 참고점? 변경점. 본인은 기프티쇼 API 를 Google Cloud Function에서 호출함. 그런데 2023-10-31 부터 호출이 자꾸 Timeout 유도함.. 진짜 우연찮게 혹시나 싶어서 트라이 해본 방법이 해결에 도움되어 공유해 봄. 필자의 Cloud Function은 기본적으로 미국에서 실행되게끔 설정이 되어있음.(us-central1) 진짜로 혹시나 싶어 함수의 리전을 한국(asia-northeast3)로 설정 하였음. 정말 어이없게도 잘 실행된다... 앞으로는 API 호출 시, 자신의 서버 위치도 확인하자..! 한국 이외 호출 시 block 걸어놓은 api 은근 많다~!

프로그래밍 2023.10.31

[Python] 여러 개의 오디오 파일을 하나의 오디오 파일로 (pydub)

여러개의 오디오 파일을 하나의 파일로 합치고 싶을 때가 있다. 그 경우에는 pydub 패키지를 이용해서 이를 합칠 수 있다. 일단 pip를 이용해 pydub을 설치하자 pip install pydub 예를 들면 a.mp3 파일과 b.mp3 파일을 combined.mp3 파일로 합치고 싶을때 아래와 같은 코드를 사용한다. from pydub import AudioSegment def combine_mp3_files(input_files, output_file): combined_audio = None for file in input_files: audio = AudioSegment.from_mp3(file) if combined_audio is None: combined_audio = audio else:..

[Flutter] Firebase 구글 소셜 로그인 사용자 번호받기 (feat. 번따, android)

플러터 앱을 제작하며 구글 소셜 로그인 기능을 넣어보자. 시작하기 전에 필자의 프로젝트는 핸드폰번호가 필수불가결이다.. 카카오, 네이버 소셜 로그인의 경우 사실상 쉬운 구조와 핸드폰 번호를 직관적으로 돌려주는데 반해, 구글의 소셜 로그인의 경우 개인정보를 아주 제한적으로 제공하고, 이를 사용자의 동의를 받아야 하며 직접 HTTP request를 사용해야 하기 때문에 초보자가 접근하기 힘들 것이라 생각하여 작성하였다. ( 필자도 2일정도는 까먹은듯.. ) 이를 구현하기 위한 가장 쉬운 방식은 Firebase의 Auth 시스템을 이용하는 것이다.. 필자는 이와같이 Firebase Auth의 Google Social Login 을 활성화 시켜주었다. ( 그냥 새 제공업체 추가로 추가해주자 ) 자, 이제 사용자..

[자료구조&알고리즘] 기초부터 탄탄히 Prologue - 1

오랜만에 포스트를 올리는 것 같은데.. 이번에는 자료구조와 알고리즘 대해 알아보는 시리즈의 시작을 해보고자 한다. 지금 벌려놓은 시리즈가 많아 사실 이 포스트를 올릴지 고민하였으나 새로운 시도를 하고싶은 욕구를 참을 수가 없는 것이 개발자의 운명 아니겠는가 ㅋㅋ 쨋든 잡담은 여기까지 하고 시작해보자. 아 맞다, 시작하기 전에 공지하고 싶은 사항이 있으니 이 포스트를 읽는 독자라면 꼭 알아두길 바란다. 자료구조를 공부할 때, C 혹은 C++과 같은 unmanaged language를 사용하길 바란다. 다 이유가 있다.. Unmanaged, Managed Language란 무엇인가? 메모리 측면에서 볼 때, 컴퓨터 언어를 크게 managed, unmanaged 2가지로 분류한다. managed (관리된) u..

Unity Behavior Tree 시스템 개요 - 1 ( Behavior Tree 란? )

분석이 끝나고 올리지 않으려 했는데 Behavior Tree를 검색하여 접속하는 사람이 많아 간단하게 시스템을 설명해보려 한다. 튜토리얼 11개 + 커스터마이징을 하였기 때문에 한 포스트에 다 설명하진 못할 것이다. 하지만 조금이라도 시스템을 파악할 수 있다면 많은 독자들에게 도움이 되리라 생각해 이를 올려볼 생각이다. 일단 Behavior Tree가 무엇인지부터 살펴보자. Behavior Tree 란? 게임에서 Behavior Tree란 Behavior( 행동 ) 을 Tree 구조로 만들어 AI 의 행동을 이용해 제어하는 것이다. 행동을 트리로...? 약간 이해되지 않을 수 있다. 하지만 이렇게 생각해보자. Tree는 Node를 저장하는 하나의 컨테이너이다. 근데 자료구조를 공부하며 배운 Node란 과..

[Python] 파이썬 아두이노 연동법 ( feat. Serial 통신, Firmata )

서론 과외를 하다 Python을 가르치는 학생을 대상으로 아두이노를 진행하게 되었다. 아두이노는 C++ 언어를 기반으로 동작을 하므로 Python을 사용하는 사람에게는 이용이 어려운게 현실이다. 물론, 시리얼 통신을 하면 되지 않나? 라고 반박한다면 맞는말이다. 학습과 실습이 중심이 되는 시스템에서는 아무런 문제가 발생하지 않을 것이다. 하지만 아두이노에 올린 프로그램을 작품으로 동작하게 하고 싶다면? ( PC와의 연결을 해제하고 ) 그때는 얘기가 꽤나 달라진다. 왜냐하면 컴퓨터를 중간에 두고 통신을 진행하고 있기 때문에. 물론 가능하다, 하지만 아두이노가 PC에 연결되어 있지 않다면? 블루투스를 통해 송수신할것인가? 엄청난 노가다가 필요할 것이고 낭비가 심할 것이다. 차라리 C++을 배우는게 편할지도 ..