목록분류 전체보기 (752)
Mini

https://school.programmers.co.kr/learn/courses/30/lessons/67260 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr자바에서 adj 만드는법static ArrayList adj[] = new ArrayList [200004];for(int i=0;i();}for(int i=0;i0){ System.out.println(adj[i]); }}dfs억까, 마지막 tc에서 n이 너무커서 스택 오버플로우 나는것으로 추정그리고, prevVisit, nextVisit같은 상태가 많아져서 복잡해짐. 실전에서 발상을 떠올리고 구현가능한가? 부정적.파이썬은 또..

https://school.programmers.co.kr/learn/courses/30/lessons/67259 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 시도1가중치가 다른 ? -> 다익? dfs로 되지 않나? 한번 해보자.gok 함수에 그림에 있는 경우만 곡선으로 체크 시도 시도2gok 함수에 이전방향을 기준으로 빼먹은 경우의수 추가import java.util.*;class Solution { static boolean vis[][] = new boolean[26][26]; static int board[][] = new int[26][26]; static int ret=98..

https://school.programmers.co.kr/learn/courses/30/lessons/64063 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr* 시도1분포가 sparse하네? -> vis배열대신 map으로 방문체크 시도 빈방이아니면, while문에서 빈방을 찾을때까지 number++ 하는 방법import java.util.*;class Solution { static HashMap m = new HashMap(); static ArrayList ret= new ArrayList(); public long[] solution(long k, long[] room_n..

https://school.programmers.co.kr/learn/courses/30/lessons/64062?language=java# 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr* 시도11명씩 보내보면서 (무한대)20만의 배열을 돌면서연속된 0의 갯수가 k 이상이면 불가능 * 풀이한명씩 보내보는대신,x명일때 가능한가?를 탐색 go함수 구현 시도1한명씩 보내는대신, x와 arr의 차이를 구해보면 됨이게 음수이면, 갈수없는곳임.(한번에 이 발상을 하기가 좀 빡세긴 함...)//x명이 건널수있는가 boolean go2(int x){ int cnt=0; for(int i..

https://school.programmers.co.kr/learn/courses/30/lessons/64064 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr* 시도1nCm개를 뽑은후, 앞에서부터 하나씩보면서 짝이있는지 bit에저장하고,bit가 전부 켜져있는지 보면 될듯?반례) 예시3의 경우, frodo가 첫번째 와일드카드로 간다면, fradi는 갈곳이 없어서 오답이 되버린다.빨간경로로 간다면, 가능해진다.즉, 앞에서부터 하나씩 탐색하면 안되고, 모든 경우의수 순열을 완탐해야한다. * 풀이1. nPn을 순열돌린다. [ 0 1 2 3 ] [ 0 1 3 2] ...2. 앞에서 m개만본후, 대체될수있으면,..

https://school.programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr* 시도1잘한점 : 숫자1개부터 size를 1개씩 증가시키면서 새로나온 숫자들만 answer에 담으면 최적해임.일단 밖의 {}를 제거하고, 괄호가 나올때까지 보고... 숫자들을 배열에 저장?그후, 중복되는것을 완전탐색으로 제거하고... 너무 복잡, 시간복잡도도 터질것 같은데?풀이1. 일단 {{ }}를 모두제거한다.2. 이후, " },{ " 기준으로 분할하면 깔끔하게 숫자만 추출할 수 있다.참고로 }는 메타문자이기때문에 앞에 \\ 2개를 붙여줘야..

문제상황jpashop 서비스에는 상품목록을 조회할수있는 api를 제공하고 있습니다.데이터가 백만건이 넘는상황에서도 원하는 성능으로 잘 작동하는지 보겠습니다.10만번째 페이지를 요청시, 실행시간이 약 600ms가 소요되며, 매우 느린상황입니다.원인분석쿼리 dsl 코드, 실행되는 sql 쿼리는 다음과 같습니다.public List findAllByQueryDsl(int pageNum) { return query .select(item) .from(item) .orderBy(item.id.desc()) .offset(pageNum * 10) .limit(10) .fetch();}SELEC..

https://www.acmicpc.net/problem/2156* 풀이1. 완전탐색으로 시도 i번째 포도주를 먹는다 안먹는다.문제 : 연속3번은 안된다는것을 어떻게 검사하지?비트? -> n=10000개 의비트 -> 불가능cnt변수? (연속으로 선택한 포도주 갯수) -> 트리에서 O로 갈때 1씩 증가시키기!상태 : (idx, cnt) 값 : 그 상태일때, 최대값* 전체코드#includeusing namespace std; typedef long long ll;ll n;ll dp[10004][4];ll arr[10004];//인덱스, 연속선택카운트ll dfs(int idx, int cnt) { if(cnt>=3) { return -987654321; //배제 } if(i..