전체 글(394)
-
프로그래머스 - H-Index (Level 2)
import java.util.*; class Solution { public int solution(int[] citations) { int n=citations.length; int answer=0; Arrays.sort(citations); //오름차순 정렬 for(int i=0;i=h){ //오름차순 정렬했으므로 해당 인덱스가 h 이상이라면 답은 h answer=h; break; } } return answer; } } 나의 풀이 : for문을 순서대로 따라가 보면 1. h=5-0=3, 5편 이상 0>=5가 성립하지 않으므로 다음으로 2. h=5-1=4, 4편 이상 1>=4 성립하지 않으므로 다음으로 3. h=5-2=3, 3편 이상 3>=3 성립하므로 답. h를 최댓값부터 줄여나가기 때문에 가장 ..
2024.01.22 -
선물거래
선물거래(futures transactions)란 공인된 거래소에서 품질, 규격 등이 표준화된 상품의 매매계약을 체결하고 일정기간이 경과한 후에 상품의 인수도와 결제가 이루어지는 거래로서 매매계약의 성립과 동시에 상품의 인수도와 결제가 이루어지는 현물거래와 구분된다. 선물거래와 유사한 개념으로 선도계약(forward contracts)이 있다. 선도계약과 선물거래는 기초 상품을 미래의 특정시점에 특정가격으로 사고팔기로 약정한 계약이라는 점에서 동일한 성격을 가지나 일반적으로 선도계약은 장외시장에서 거래당사자간에 직접 거래되거나 딜러나 중개인을 통해 거래가 이루어지는 반면 선물거래는 정형화된 거래소를 통해 거래가 이루어진다는데 차이가 있다. 선물거래대상이 되는 상품에는 곡물, 귀금속, 원유 등 일반상품과 ..
2024.01.21 -
프로그래머스 - 두개 뽑아서 더하기( Level 1)
코드 import java.util.*; class Solution { public int[] solution(int[] numbers) { Set set =new HashSet(); for(int i=0;i i) //int형으로 변환 .toArray(); 2. Stream으로 컬렉션 오름차순 정렬하기 int[] answer=set.stream() .sorted() .mapToInt(i->i) .toArray(); 처음엔 배열로 변환 후 Arrays.sort(answer)로 정렬을 시도했다. 그런데 이 방법보다 Stream으로 컬렉션을 정렬했을 때 실행시간이 더 줄어들었다. 왜일까? 지피티에게 물어보니 이렇게 답하였다. Stream.sorted() 메소드는 스트림 파이프라인의 일부로 실행되므로, 필요한 ..
2024.01.20 -
프로그래머스 - k번째 수 (Level 1)
나의 풀이 import java.util.*; class Solution { public int Ksort(int i, int j, int k, int[] array){ int index=0; int[] arr=new int[j-i+1]; int num=0; for(index=i-1;index
2024.01.20 -
서킷브레이커
과열된 전기회로를 차단하는 안전장치에서 유래된 용어로 주식시장에서 주가의 급등락 시 주식거래를 일시 정지시켜 시장에 미치는 충격을 완화하기 위해 도입된 제도이다. 서킷브레이커(circuit breakers)는 1987년 10월 미국 증권시장 사상 최악의 주가 대폭락 사태를 기록한 ‘블랙 먼데이’ 이후 뉴욕증권거래소를 시발로 각국 증시에 시장 안전장치의 하나로 활용되고 있다. 우리나라에서는 1998년 12월 주식 가격제한폭이 상하 12%에서 15%로 확대되면서 손실을 볼 위험이 커진 주식투자자를 보호하기 위해서 유가증권시장에 도입되었고, 2001년에는 코스닥시장으로 적용범위가 확대되었다. 우리나라 한국거래소에서는 주식시장의 대표지수인 종합주가지수 또는 코스닥지수의 하락폭 정도에 따라 3단계로 구분하여 서킷..
2024.01.19 -
프로그래머스 - 불량 사용자(Level 3)
방법 정규식을 사용하기 위해 불량 id에서 '*'제외한 나머지 문자가 일치하는지 보기 위해서 불량 id의 '*'를 '.'으로 바꿔준다. 불량 id의 정규식과 일치하는 사용자 id들을 각각 배열 bans에 담는다 dfs를 사용하여 bans에서 하나씩 뽑아 set에 넣으며 조합을 만들어낸다 각 불량아이디마다 중복될 수 있으므로 set에 넣고, 최종조합들도 중복될 수 있으므로 또 그걸 set에 담는다 import java.util.*; public class Solution { private void count(int index, Set banned, String[][] bans, Set banSet) { if (index == bans.length) { banSet.add(new HashSet(banned)..
2024.01.18