본문 바로가기

분류 전체보기

(385)
[프로그래머스LV3] 파괴되지 않은 건물 https://school.programmers.co.kr/learn/courses/30/lessons/92344 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 누적합은 현재 배열에서 각 인덱스별로 누적된 합들을 간편하게 계산하고 사용할 수 있는 알고리즘이다.  그러나 이것을 응용하면 범위의 빈도수도 파악이 가능하다. 무슨말이냐하면 만약 1~10까지 숫자가 존재한다고 할 때 1~4, 2~5 두개가 주어진다고 하자. 그렇다면 1 -> 12 -> 23 -> 24 -> 25 -> 1 번 씩 범위에 포함된 것을 알 수 있다. 이것을 일일히 확인하면 첫번째 1~4가 ..
[프로그래머스LV2] 롤케이크 자르기 (C++) https://school.programmers.co.kr/learn/courses/30/lessons/132265?language=cpp 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 처음에 모두 오른쪽에 담아두고 하나씩 꺼내서 왼쪽으로 이동시키면 되는 문제. 그러나 이 과정에서 반복문을 사용해 모두 열람하면 안되고 Set과 Map을 적절하게 사용하여 반복하지 않는 것이 중요하다.  Map에 개수가 0이 되면 Set에서도 삭제하는 방식을 사용하면 현재 종류가 몇개 있는지 쉽게 파악하면서 진행할 수 있다.  #include #include #include #..
[프로그래머스SQL] 대장균의 크기에 따라 분류하기 1 https://school.programmers.co.kr/learn/courses/30/lessons/299307 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr CASE 문법을 알고있는가? 물어보는 문제이다. CASE    WHEN 조건 THEN     ELSE    END AS '인덱스이름' 이렇게 하면된다. -- 코드를 작성해주세요SELECT ID, CASE WHEN SIZE_OF_COLONY
백준 3078번 - 좋은 친구(C++) https://www.acmicpc.net/problem/3078 상근이네 반의 N명 학생들의 이름이 성적순으로 주어졌을 때, 좋은 친구가 몇 쌍이나 있는지 구하는 프로그램을 작성하시오. 좋은 친구는 등수의 차이가 K보다 작거나 같으면서 이름의 길이가 같은 친구이다. 단순하게 생각하면 O(N * K)로 해결할 수 있지만 최적화를 통해 O(N)으로 통과시켜야하는 문제이다. AAABBBCCDDDE 예제를 가정하고 K = 2라 하자.큐의 길이가 K + 1 될 때 까지 큐에 이름의 길이를 넣고 맵에 개수를 저장한다.  큐 : AAA BBB CC맵: [3] = 2, [2] = 1 큐가 K + 1만큼 차면 큐에서 하나를 꺼내 꺼낸 이름의 개수가 몇개 있는지 확인하고 답을 갱신한다. 모두 친구가 될 수있는 범위만 모..
[프로그래머스] 2020 카카오 인턴십 - 보석 쇼핑(C++) https://school.programmers.co.kr/learn/courses/30/lessons/67258 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  단순히 정확도만 맞춘다면 N^2으로 처리 가능하지만 10만개를 확인해야하기 때문에 O(N)으로 처리해야한다. 일정 구간을 나타내야하기 때문에 슬라이딩 윈도우라고 봐도 되고 투포인터라 봐도 될 것 같다. 그래서 답을 찾았다고 탈출, 리턴해주는 방식으로는 이 문제를 풀 수 없다. 후에 다이아몬드라는 보석이 더 있을 수도 있기 때문에 끝까지 탐색하고 값을 계속 최적화해야한다. AAABBCA 라고 주어졌다..
[프로그래머스SQL] 부서별 평균 연봉 조회하기 https://school.programmers.co.kr/learn/courses/30/lessons/284529 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 먼저 JOIN 한 후 JOIN 한 테이블에서 필요한 정보를 그룹바이하여 원하는 것을 가져오면 되는 문제이다. 여기서 중요한 건 반올림하는 함수를 아는가? 였는데 NUM = 123.456 ROUND(NUM, 0) = 123ROUND(NUM, 1) = 123.5 알아두자!SELECT HR_DEPARTMENT.DEPT_ID, HR_DEPARTMENT.DEPT_NAME_EN, ROUND(AVG(SAL), ..
[코드트리] 고대 문명 유적 탐사 (C++) https://www.codetree.ai/training-field/frequent-problems/problems/ancient-ruin-exploration/description?page=1&pageSize=5 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetree.ai 삼성 코딩테스트가 이번주 일요일로 코앞으로 다가왔기에 적어도 하루 2개씩은 풀어야한다..!이 문제도 삼성다운 문제로 BFS + 구현문제이다. 이 문제는 오전문제인데 오후 1번 문제와 비슷한 결을 가지고 있다. 로직에 따른 모듈화를 잘해야한다. 무작정 코드를 짜면 안되고 함수들마다 책임과 일을 정..
[프로그래머스 SQL] 특정 조건을 만족하는 물고기별 수와 최대 길이 구하기 https://school.programmers.co.kr/learn/courses/30/lessons/298519 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr NULL이면 10으로 쳐야해서 이걸 대체 어떻게 처리해야하나 고민했는데  AVG(IFNULL(LENGTH, 10)) 이렇게 하면 LENGTH 가 NULL이면 10으로 쳐서 계산해준다고 한다 ;;; 이걸 알고 있으면 갑자기 쉬워진다. 그냥 구해서 HAVING 으로 정보 빼내서 양식에 맞게 AS 만 해주면 된다. -- 코드를 작성해주세요SELECT COUNT(FISH_TYPE) AS FISH_COUNT..