728x90
반응형

전체 글 262

[백준 20922 / Python / 실버1] 겹치는 건 싫어

슬라이딩 윈도우 or 투 포인터 문제이다. 나는 슬라이딩 윈도우가 익숙하고 더 직관적이라고 생각해서, 슬라이딩 윈도우 방식으로 풀었다. from collections import defaultdictimport sysinput = sys.stdin.readline"""최장 연속 부분 수열 길이 구하기같은 정수는 K개 까지 허용N: 제공된 수열 길이K: 같은 정수 허용 상한nums: 제공된 수열num_count: 각 숫자 당 개수 세는 딕셔너리, 기본값 int슬라이딩 윈도우딕셔너리 구조 -> 숫자: 개수-> 특정 숫자가 K개가 넘었다면, left는 특정 숫자 위치까지 진행하며 딕셔너리에서 값을 빼고 right는 right + 1 부분부터 다시 진행한다"""N, K = map(int, inp..

채권이란? - 채권 특징, 채권vs주식, 채권투자와 매수할 채권 선택 방법

채권이란?채권이란 정부나 기업이 돈을 빌릴 때 발행하는 차용증서이다. 돈을 빌리고 싶을 때 채권을 발행한 후 투자자에게 매도하면 현금을 얻을 수 있다. 투자자는 채권을 보유하는 동안 이자를 받으며, 만기일(상환일)이 되면 빌려 준 원금을 돌려받는다. 채권을 매수하다 -> 돈을 빌려주고 상환일까지 이자를 받는다.채권을 매도하다 -> 돈을 빌리고 상환일까지 투자자에게 이자를 지급한다. 채권 투자로 수익을 얻는 방법채권 1개는 10,000원의 액면가를 가지며, 1000원 단위로 거래할 수 있다. 특정한 옵션이 없는 일반적인 채권은 발행시점에 만기일과 표면이자율이 정해지며, 이를 통해 채권을 매수하기 전 확정수익률을 미리 계산할 수 있다. 투자하는 시점에 미래의 현금흐름을 확실하게 알 수 있다는 건 채권이 가..

경제 2025.08.15

초보자 시선으로 본 단기금융시장 - 콜, CD, RP부터 파생상품까지

한국엔 다양한 단기금융상품이 있다. 콜시장부터 파생상품까지, 다양한 조건으로 돈을 빌려주거나 빌리는 상품들이 존재한다. 투자하기 위해서 빌릴 수도 있을 것이고, 한국은행에 예치할 지급준비급을 맞추기 위해 빌릴 수도 있으며, 채권을 상환하기 위해 빌릴 수도 있다. 여유자금이 있다면 현금을 놀리는 것 보다는 최소한으로 보유하고, 대출을 통해 이자를 챙기는 것이 이득일 것이다. 콜시장(Call Market)금융기관들이 일시적 자금 부족을 해결하기 위해 초단기(보통 하루)로 자금을 빌리거나 빌려주는 시장. 금융기관들은 매일 바뀌는 지급준비금을 맞추기 위해 주로 콜시장을 이용한다. 지급준비제도- 금융기관은 한국은행에 일정 비율의 자금을 항상 예치하여야 하며, 이를 지급준비금이라 한다.- 금융기관은 대출을 받아(..

경제 2025.08.12

[채권투자 처음공부] 채권투자 입문서 후기, 채권 입문서 추천

"국부론"을 읽다가 취업준비에 밀려 멈추고, 금융권에 취업을 하게되어 빠르게 관련 지식을 얻고싶은 마음에 구매한 책이다. 국부론은 앞 부분 조금만 읽었음에도 큰 도움이 되었지만, 읽는 데 시간이 너무 오래 걸리고 지금의 나에겐 조금 더 직관적이고 빠르게 활용할 수 있는 정보가 필요했으니 나중에 읽는 걸로 하기로 했다. 도서명: 채권투자 처음공부평점: 9/10 나에겐 채권이 무엇인지에 대한 기본적인 설명과 채권 투자는 실제로 어떻게 진행하는지, 그에 대한 간단한 팁들이나 주변지식들이 필요했다. 대단한 투자 방식이나 깊은 지식이 필요한 게 아니라, 입문서가 필요했다. 그런 의미에서 이 책은, 입문서의 요구사항을 아주 훌륭하게 달성했다. 지나치게 어려운 내용을 다루지 않지만, 다양한 채권의 종류와 실제 투자..

독서/경제 2025.08.04

[백준 2075 / Java / 실버3] N번째 큰 수

자료구조, 정렬 문제이다.메모리 제한이 걸려 있긴 한데, 메모리를 신경쓰지 않아도 풀리긴 한다.난 3가지 방식으로 풀어보았다. import java.io.*;import java.util.*;public class N번째_큰_수_2075 { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; int N = Integer.parseInt(br.readLine()); int[] table = new int[N*N]; /** 숫자를 하나의 배열로 전부 입력받기 */ int i..

개발자 취업준비 6개월, KIDB 최종 합격 후기와 금융권 선택 이유 + 포트폴리오

메멘토 AI 3개월 근무 중 폐업에 의해 퇴직하고, 6개월의 취업준비를 거친 후에 드디어 재취업을 했다. 3개월이라는 근무 경험이 있긴 하지만 경력으로 인정받을 정도는 아니기 때문에, 사실상 신입과 큰 차이는 없다. KIDB 채용연계형 인턴 합격KIDB는 금융중개업 회사로서, 채권중개/자금중개 업계 1위의 인지도를 지키고 있는 근본 있는 회사이다. 나는 자산 증식에 관심이 많아 핀테크 또는 돈을 다루는 도메인에 가고 싶었는데, 결국 순도 100%의 금융권에 오게 되었다. 개발과 더불어 금융에 대한 지식까지 배울 수 있다는 게 큰 메리트다. 전형은 서류 -> 1차면접 -> 2차면접 순으로 진행되었으며, 기술적인 질문보다는 인성/태도 부분을 주의깊게 보시는 듯 했다. 그걸 빠르게 캐치하고 최대한 겸손하고 예..

업적 2025.07.23

[백준 2304 / Java / 실버2] 창고 다각형

처음 문제를 보고, 이분탐색인가? 그리디인가? 어떤 알고리즘이지? 고민했는데,결국 그냥 구현이었다. import java.io.*;import java.util.*;public class 창고_다각형_2304 { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; /** * 가장 작은 창고 면적 구하기 * 한번 내려가면 다시 올라오면 안된다 * * 올라가기: 기존 높이로 쭉 진행하며, 높은 걸 만날때마다 올라간다 * 내려가기: 가장 높은 곳에 도달했다면, 내..

[백준 1406 / Java / 실버2] 에디터

문제 자체는 시뮬레이션인데, 시뮬레이션 그대로 구현하면 무조건 시간 초과가 난다. 시간제한이 0.3초고, 삽입/삭제를 직접 수행할 경우 명령어가 50만개라서 50만 * 10만 하면 500억번 연산이라 자료구조를 잘 활용해야 한다.나는 ArrayDeque 2개를 활용했다. import java.io.*;import java.util.*;public class 에디터_1406_v2 { static ArrayDeque left = new ArrayDeque(); static ArrayDeque right = new ArrayDeque(); public static void main(String[] args) throws Exception { BufferedReader br = new BufferedRead..

Algorithm/Stack 2025.07.19

[백준 1003 / Java / 실버3] 피보나치 함수

기본적인 피보나치 함수 문제이다. 일반적으로 재귀 또는 DP 형태로 풀 수 있다.이 문제에서는 시간제한이 0.25초로 짧기 때문에 DP로 풀어야 한다. import java.io.*;public class Main { static int zeroResult = 0; static int oneResult = 0; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int T = Integer.parseInt(br.readLine()); for (int i = 0; i 첫 번째 시도 코드다. 최대 N이 40이라 ..

[백준 11501 / Python / 실버2] 주식

그리디 문제이다. 살짝 어려웠다. 난 2가지 방식으로 풀었는데, 의문점이 있다. import sysinput = sys.stdin.readline"""1. 큰 값 순서대로 정렬2. 현재 가장 큰 값 기준으로, 원본 리스트 역순 순회하며 가장 큰 값 찾기3. 찾았다면, 가장 큰 값 포함한 좌측 값 전부 사서 큰값에 팔기4. 원본리스트에서 방금 사용된 값을 전부 없애기5. 반복현재 가장 큰 값 idx가 while문당 1씩 증가하는데, 이거 좀 비효율이다. 이후에 올 큰값들이 지워지면 쓸모없어지기 때문따라서 가장 큰 값 리스트에서도 값들을 지워주고, 항상 0으로 인덱싱 하면 될 것 같은데 귀찮다.[1, 3, 1, 10, 2, 9, 3, 10, 5][10, 9, 5, 3, 2, 1]"""for _ in rang..

Algorithm/Greedy 2025.07.11
728x90
반응형