전체 글(394)
-
프로그래머스 - 도둑질 (Level 3)
dp로 안 풀어보려고 홀수냐 짝수냐로 나눠서 도전해 봤지만 오류가 생김 -> 무조건 홀수거만 털거나 짝수거만 털 필요가 없었음 -> 홀수로 털다가 3칸 건너뛰어서 짝수로 털수도 있어서 결국 dp로 풀이 1. 첫번째 집을 털 경우와 안 털 경우로 나눠서 풀이 2. class Solution { public int solution(int[] money) { int len=money.length; //첫번째 집을 털 경우 -> 마지막 집 포함 불가 int[] dp=new int[len-1]; dp[0]=money[0]; dp[1]=money[0]; for(int i=2;i 마지막 집 포함 가능 int[] dp1=new int[len]; dp1[0]=0; dp1[1]=money[1]; for(int i=2;i
2024.02.08 -
신주인수권부사채
신주인수권부사채(Bond with Warrant)는 채권을 발행한 회사가 주식을 발행할 경우 투자자가 미리 약정된 가격에 일정한 수량의 신주(新株)를 인수할 수 있는 권리인 워런트(Warrant)가 결합된 회사채를 말한다. 투자자들은 발행기업의 주가가 약정된 매입가를 상회하면 신주를 인수하여 차익을 얻을 수 있고, 그렇지 않으면 인수권을 포기하면 된다. BW는 일반 채권에 비해 발행금리가 낮아 발행 회사는 적은 비용으로 자금을 조달할 수 있는 장점이 있다. 또한 발행기업의 주가가 약정된 매입가를 상회할 경우에는 투자자들의 신주인수권 행사에 힘입어 자기자본이 증가하면서 새로운 자금조달이 가능하게 된다. 이 경우 투자자는 채권으로부터 이자수익을, 주식으로부터 주가 상승에 따른 자본수익을 기대할 수 있어 투자..
2024.02.07 -
신용경색
금융기관 등에서 돈의 공급이 원활히 이루어지지 않아 어려움을 겪는 현상을 의미한다. 신용경색은 금융시장에 공급된 자금의 절대량이 적거나 자금의 통로가 막혀 있을 때 주로 발생한다. 신용경색(credit crunch)이 발생하면 기업들은 자금 부족으로 인해 정상적인 경영 활동에 어려움을 겪게 되고 무역업체들도 수출입 활동에 큰 제약을 받게 된다. 신용경색이 나타나는 과정은 보통 다음과 같다. 먼저 일부 은행의 도산이나 부실화로 인해 금융시스템 내의 대출 가능 규모가 줄어들게 되고, 이들 은행과 거래하던 기업들의 차입이 어려워지면서 기업 도산확률이 높아지게 된다. 이렇게 되면 건전한 은행들도 높아진 기업의 신용위험과 유동성 위험 등에 대비하여 대출 규모를 축소하기 때문에 금융시스템 내 유동성이 부족해져 자금..
2024.02.06 -
프로그래머스 - 등굣길(Level 3)
class Solution { public int dp(int[][] memo,int i,int j){ if (i < 1 || j < 1) { //경계 넘어가는거 체크 return 0; } if(memo[i][j]!=-1){ return memo[i][j]; } memo[i][j]=(dp(memo,i,j-1)+dp(memo,i-1,j))%1000000007; return memo[i][j]; } public int solution(int m, int n, int[][] puddles) { int[][] memo=new int[n+1][m+1]; for(int y=0;y
2024.02.02 -
시뇨리지
시뇨리지(seigniorage)란 화폐에 대한 독점적 발권력을 갖는 중앙은행이나 국가가 화폐발행을 통해 획득하는 이득을 의미한다. 금속화폐 시대에는 절대군주가 금, 은 등을 소재로 화폐를 제조하여 유통하는 과정에서 화폐를 생산비용 보다 높은 액면가치에 유통시킴으로써 시뇨리지(화폐시뇨리지=화폐 액면가-화폐제조비용)가 발생하였다. 한편 명목화폐 등장 이후에는 중앙은행이 화폐 태환력(convertibility)을 보장하기 위해 화폐발행액을 부채로 인식하게 되면서 화폐시뇨리지를 수익으로 간주하지 않는 대신 화폐발행을 통해 취득한 유가증권 등의 운용수익에서 화폐제조비를 차감하는 방식으로 시뇨리지로 계상하게 되었다. 전통적으로 시뇨리지는 정부의 재정적자 보전수단으로 인식되어 왔으나 최근에는 중앙은행의 재무적 독립의..
2024.02.01 -
프로그래머스 - 정수 삼각형(Level 3)
처음엔 dfs로 풀려했지만 시간초과가 떴다 찾아보니 dfs로 풀 수 있는 연산은 대충 500만 개 정도이다. 그러나 이 문제는 삼격형의 높이가 500이하이므로 2^500-1번의 조합을 찾아야 한다. 500만 개 훨씬 넘으므로 시간초과가 뜨는 게 당연하다. 큰 문제를 작은 문제로 분할하여 해결하는 알고리즘이다. 작은 문제를 풀때마다 항상 값이 같다. -> 고로 작은 문제의 답을 어딘가에 메모해놓는다. → Memoization -> 메모리에 저장해서 중복 연산을 줄인다 dp로 푼 풀이 1. 합을 메모해둘 triangle과 같은 크기의 자료구조 생성 2. 왼쪽 끝과 오른쪽 끝 그리고 나머지 이렇게 구분해서 규칙을 찾아 더한다. 3. 최대값을 저장한다. class Solution { pub..
2024.01.31