알고리즘

알고리즘

[프로그래머스] 이모티콘 할인 행사 - JAVA

🎨 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📘 풀이 이 문제는 완전 탐색으로 해결할 수 있습니다. 할인율은 10%, 20%, 30%, 40% 중 하나로 설정됩니다. 각 이모티콘의 할인율을 정하고 이에 따라 이모티콘 플러스 가입자 수와 총판매액을 구할 수 있습니다. 따라서 가능한 할인율을 모두 구하고 이 둘이 최대인 값을 구하면 됩니다. DFS, 백트래킹으로 가능한 할인율 순열을 구합니다. private static final int[] RATE = {90, 80, 70, 60}; private void dfs(int[] emoticons, i..

알고리즘

[프로그래머스] 택배 배달과 수거하기 - JAVA

🎨 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📘 풀이 이 문제는 그리디로 문제를 해결할 수 있습니다. 가장 멀리 있는 배달을 갔을 때 가장 멀리 있는 택배 상자를 수거하면 됩니다. 즉, 다음과 같은 전략으로 문제를 해결할 수 있습니다. 1. 배달 및 수거할 택배 상자가 남은 가장 먼 집부터 택배를 배달 및 수거합니다. 2. 트럭이 물류창고에서 출발해 가장 먼 집으로 이동할 때는 배달만 하고, 다시 물류창고로 돌아올 때는 수거만 합니다. 3. 트럭이 물류창고에서 출발할 때 항상 택배를 최대 개수만큼 배달하고, 물류창고로 돌아갈 때 최대 개수만큼 ..

알고리즘

[프로그래머스] 개인정보 수집 유효기간 - JAVA

🎨 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📘 풀이 파기해야 할 개인정보의 번호를 오름차순으로 1차원 정수 배열에 담아 반환하는 solution 함수를 만들어야 합니다. 오해의 소지가 없도록 모든 달이 28일입니다. 개인정보가 파기일을 지났는지만 확인하면 되므로 년, 월, 일을 일로 바꾸어 계산할 것입니다. 입력 today: 오늘 날짜. "YYYY.MM.DD" 문자열 형태 terms: 약관 종류와 유효기간이 띄어쓰기로 구분된 문자열 privacies: 개인정보 수집 일자, 약관 종류가 띄어쓰기로 구분된 문자열 알고리즘 간단한 구현 문제입니다...

알고리즘

[BOJ] 앱 - 7579

🎨 문제 7579번: 앱 입력은 3줄로 이루어져 있다. 첫 줄에는 정수 N과 M이 공백문자로 구분되어 주어지며, 둘째 줄과 셋째 줄에는 각각 N개의 정수가 공백문자로 구분되어 주어진다. 둘째 줄의 N개의 정수는 현재 활 www.acmicpc.net 📘 풀이 배낭 문제와 유사한 문제입니다. 배낭 문제는 DP 배열을 다음과 같이 사용한다면 행: 넣을 수 있는 무게 열: 물건의 종류 저장: 물건의 최대 가치 이 문제는 다음과 같이 생각할 수 있습니다. 행: 사용할 수 있는 비용 열: 앱의 종류 저장: 앱의 최대 메모리 DP의 시간 복잡도는 앱의 종류(N), 사용할 수 있는 최대 비용(MAX_COST)에 의해 N x MAX_COST가 됩니다. N의 최대값은 100, 최대 비용은 단일 앱의 최대 비용(100) x..

알고리즘

[BOJ] Dance Dance Revolution - 2342

🎨 문제 2342번: Dance Dance Revolution 입력은 지시 사항으로 이루어진다. 각각의 지시 사항은 하나의 수열로 이루어진다. 각각의 수열은 1, 2, 3, 4의 숫자들로 이루어지고, 이 숫자들은 각각의 방향을 나타낸다. 그리고 0은 수열의 마 www.acmicpc.net 📘 풀이 DP와 분할정복을 혼합하여 풀었습니다. 완전 탐색의 경우 왼발과 오른발을 쓰는 지(두가지)와 입력 수열의 길이가 100,000이 최대이므로 시간 복잡도가 2의 100,000제곱으로 TLE가 발생합니다. DP 배열 DP = int[눌러야하는 발판][왼발 위치][오른발 위치] 눌러야할 발판은 입력받은 배열의 길이입니다. 마지막 발판은 0이므로 1을 빼주어도 됩니다. 발의 위치는 다섯가지로 중앙, 위, 아래, 왼쪽,..

알고리즘

[프로그래머스] 두 큐 합 같게 만들기 - JAVA

카카오 2022 테크 인턴쉽 코딩테스트 2번 문제로 공식 해설을 기반으로 문제를 풀었습니다. 2022 테크 여름인턴십 코딩테스트 해설 2022년 카카오 여름 인턴십 코딩 테스트가 지난 5월 7일에 5시간에 걸쳐 진행되었습니다. 시간이 부족하여 문제를 풀지 못하는 아쉬움이 없도록 1시간을 늘려 테스트를 진행한 것이 작년과 조금 tech.kakao.com 문제는 프로그래머스에서 확인하실 수 있습니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 두 가지 풀이법이 있습니다. Queue 자료형을 사용하는 것과 투포인터 알고리즘을 사용하는 것입니다. 우선 ..

알고리즘

[프로그래머스] 성격 유형 검사하기 - JAVA

카카오 2022 테크 인턴쉽 코딩테스트 1번 문제로 공식 해설을 기반으로 문제를 풀었습니다. 2022 테크 여름인턴십 코딩테스트 해설 2022년 카카오 여름 인턴십 코딩 테스트가 지난 5월 7일에 5시간에 걸쳐 진행되었습니다. 시간이 부족하여 문제를 풀지 못하는 아쉬움이 없도록 1시간을 늘려 테스트를 진행한 것이 작년과 조금 tech.kakao.com 문제는 프로그래머스에서 확인할 수 있습니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 간단한 구현 문제입니다. 4개의 지표가 존재하고 각 지표는 두 가지 유형 중 하나입니다. 이 유형들의 점수를 ..

알고리즘

[LeetCode] 162. Find Peak Element

🎨 문제 peak은 산의 정상을 의미한다. 배열이 주어지는데 값이 증가하다가 감소하는 포인트가 있다. 이를 peak라 부르며 해당 위치를 찾는 문제이다. peak은 여러 개 존재할 수 있으며 이 중 아무 위치나 리턴하면 된다. 양 끝 값의 경우 0번 째 이전(-1번째)와 마지막 다음 번째(n번째)의 값을 -∞로 하여 0번째와 n-1 번째도 peak이 될 수 있다. 그림으로 보면 이해하기 쉬울 것이다. L과 R도 peak이 될 수 있다. Find Peak Element - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for yo..

acisliver
'알고리즘' 카테고리의 글 목록 (2 Page)