Algorithm
-
[Algorithm] Programmers 땅따먹기Algorithm 2023. 1. 7. 11:50
- 목차 소개. "프로그래머스 땅따먹기" 문제의 웹 링크입니다. https://school.programmers.co.kr/learn/courses/30/lessons/12913 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 분석. 처음에는 해당 문제는 DFS 로 완전 탐색으로 해결하려고 시도하였습니다. 하지만 행의 갯수가 100,000 이기 때문에 완전 탐색을 시도하게 되면, 완전 탐색을 수행하게 되면 최악의 케이스로 N*N 의 시간복잡도를 가지게 됩니다. 따라서 해당 문제는 단순한 연산으로 접근해야합니다. impor..
-
(Java) 백준 색종이 만들기 [분할정복, 재귀]Algorithm 2022. 12. 19. 23:02
- 목차 함께 보면 좋은 글. https://westlife0615.tistory.com/164 (Java) 백준 쿼드트리 [분할정복, 재귀] - 목차 함께 보면 좋은 글. https://westlife0615.tistory.com/46 (Java) 백준 색종이 만들기 [분할정복, 재귀] - 목차 소개. 아래 링크는 "백준 색종이 만들기" 문제의 웹링크입니다. https://www.acmicpc.net/problem/263 westlife0615.tistory.com 소개. 아래 링크는 "백준 색종이 만들기" 문제의 웹링크입니다. https://www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 1..
-
[Programmers] 상품 별 오프라인 매출 구하기 (SQL)Algorithm 2022. 12. 18. 16:00
- 목차 문제 설명. https://school.programmers.co.kr/learn/courses/30/lessons/131533 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 다음은 어느 의류 쇼핑몰에서 판매중인 상품들의 상품 정보를 담은 PRODUCT 테이블과 오프라인 상품 판매 정보를 담은 OFFLINE_SALE 테이블 입니다. PRODUCT 테이블은 아래와 같은 구조로 PRODUCT_ID, PRODUCT_CODE, PRICE는 각각 상품 ID, 상품코드, 판매가를 나타냅니다. PRODUCT_ID INTEGER FALSE PRODUCT_COD..
-
[Programmers] 피로도 (lv2, Java, 완전정복, DFS)Algorithm 2022. 12. 18. 16:00
- 목차 문제 설명. https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던전 탐험을 마쳤을 때 소모되는 "소모 피로도"가 있습니다. "최소 필요 피로도"는 해당 던전을 탐험하기 위해 가지고 있어야 하는 최소한의 피로도를 나타내며, "소모 피로도"는 던전을 탐..
-
(Java) Programmers 타겟 넘버 [DFS, 재귀함수]Algorithm 2022. 7. 22. 07:12
- 목차 문제 설명. n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성해주세요. 제한사항 주어지는 숫자의 개수는 2개 이상 20개 이하입니다. 각 숫자는 1 이상 50 이하인 자연수입니다. 타겟 넘버는 1 ..
-
(Java) Programmers 문자열 압축 (Deque)Algorithm 2022. 7. 18. 04:23
- 목차 소개. 아래 웹 링크는 "프로그래머스 문자열 압축" 에 대한 링크입니다. https://school.programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명. 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자열에서 같은 값이 연속해서 나타나는 것을 그 문자의 개수와 반복되는 값으로 표현하여 더 짧은 문자열로 줄여서 표현하..
-
[Programmers] 더 맵게 ( PriorityQueue )Algorithm 2022. 7. 18. 03:54
- 목차 문제 설명. 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution 함수를 작성해주세요. 제한 사항 ..
-
(Java) Programmers/연습문제/피보나치 수Algorithm 2022. 6. 15. 11:05
- 목차 문제 설명 "프로그래머스 피보나치 수" 문제의 웹링크입니다. https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) ..
-
[Programmers] 가장 큰 정사각형 찾기 (lv2, Java, DP)Algorithm 2022. 6. 14. 07:29
- 목차 문제 설명. https://school.programmers.co.kr/learn/courses/30/lessons/12905 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1와 0로 채워진 표(board)가 있습니다. 표 1칸은 1 x 1 의 정사각형으로 이루어져 있습니다. 표에서 1로 이루어진 가장 큰 정사각형을 찾아 넓이를 return 하는 solution 함수를 완성해 주세요. (단, 정사각형이란 축에 평행한 정사각형을 말합니다.) 예를 들어 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 가 있다면 가장 큰 정사각형은 0 1 1..
-
Programmers 의상Algorithm 2022. 6. 14. 07:01
- 목차 소개. "프로그래머스 의상" 관련 문제의 웹링크입니다. https://school.programmers.co.kr/learn/courses/30/lessons/42578# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 분석. 위 문제는 조합의 수학적인 의미를 이해하고 구현 가능 여부를 파악하는 문제입니다. 각 종류별로 의상들이 존재하고, 종류별 의상을 최대한 1개씩 착용해야합니다. 예를 들어, headgear 5개 와 eyewear 5개의 의상이 존재한다고 가정하겠습니다. headgear : a,b,c,d,e eyewear : f,g,h,i..