문제 요약알고리즘 분류: dp난이도: Bronze1문제내용:피보나치 수는 0과 1로 시작한다. 피보나치 식은 아래와 같다.Fn = Fn-1 + Fn-2 N이 주어 졌을때 피보나치 Fn을 구하여라 (N 사이트: https://www.acmicpc.net/problem/2748문제풀이이번 문제는 재귀 호출로 풀기에는 숫자가 커질수록 계산량이 급격히 증가하기 때문에, 동적 계획법(Dynamic Programming, DP*을 사용해야 효율적으로 해결할 수 있다. 동적 계획법에 대해 잘 모르신다면, 아래 링크를 통해 자세한 설명을 확인 해보면 된다.https://jih3508.tistory.com/89 [알고리즘 이론] 동적계획법(Dynamic Programming, DP)이론 이번에 볼 알고리즘은 동적계획법..
문제 요약알고리즘 분류: 구현, 문자열, 해쉬 난이도: Medium문제내용:문자열의 "아름다움(beauty)"은 가장 많이 나타나는 문자와 가장 적게 나타나는 문자의 빈도 차이로 정의됩니다.예를 들어, 문자열 "abaacc"의 아름다움은 3−1=23 - 1 = 23−1=2입니다.문자열 sss가 주어졌을 때, sss의 모든 부분 문자열(substring)의 아름다움의 합을 반환하세요사이트 주소:https://leetcode.com/problems/sum-of-beauty-of-all-substrings/description/ 문제풀이이번 문제는 주어진 문자열에서 모든 부분 문자열을 추출하여 각 부분 문자열의 "아름다움"을 계산하고 이를 합산하는 문제입니다. 문제를 해결하기 위한 과정은 다음과 같습니다. ..
문제 요약알고리즘 분류: 이진법, 베열 난이도: Medium문제내용:n × n 크기의 격자가 주어집니다.로봇초기 위치 startPos에서 시작.문자열 s로 주어진 방향 이동 명령 ('L', 'R', 'U', 'D').로봇은 문자열 s의 어떤 i번째 명령부터 실행을 시작할 수 있고, 로봇의 명령을 순차적으로 실행 한다.(단 격자 범위 밖으로 이동시 멈춘다.)정상적으로 실행 가능한 명령의 개수를 반환 하여라사이트 주소: https://leetcode.com/problems/maximum-possible-number-by-binary-concatenation/description/문제풀이이 문제는 간단한 시뮬레이션 구현 문제이다. 문자열 s에서 각 명령을 시작점으로 설정하여 끝까지 실행하며, 실행 가능한 ..
문제 요약알고리즘 분류: 이진법, 베열 난이도: Medium문제내용:주어진 크기가 3인 정수 배열의 요소들을 이진수로 변환하고, 이들을 다양한 순서로 이어 붙여 만들 수 있는 숫자 중 가장 큰 값을 찾아 반환하여라사이트 주소: https://leetcode.com/problems/maximum-possible-number-by-binary-concatenation/description/문제풀이이번 문제는 3개수를 각 이진법으로 변환하여 여러가지 순서로 이어붙인 다음 10진수로 변환 한것중 가장 큰것을 구하면 된다. 그럼 크게 2가지만 구현 하면된다.3개 숫자 2진수 변환후 이어 붙이 다음 10진수로 변환3개 숫자 순열구현1. 3개 숫자 2진수 변환후 이어 붙이 다음 10진수로 변환 직업 진법을 변..
문제 요약알고리즘 분류: 누적합, 문자열난이도: Medium문제내용:garbage 배열: 각 집의 쓰레기 종류 ('M', 'P', 'G')를 나타냄.travel 배열: 집 간 이동 시간 제공.각 트럭은 특정 쓰레기 ('M', 'P', 'G') 유형만 수거함.트럭은 집 0번에서 시작하며 필요한 집만 방문 가능.모든 쓰레기를 수거하는 데 필요한 최소 시간을 계산하여사이트 주소: https://leetcode.com/problems/minimum-amount-of-time-to-collect-garbage/description/ 문제풀이 이번 문제는 O(N)만큼 요구하는 문제이다. 그래서 누적합으로 풀어야한다. 누접합 관련 내용은 아래글에서 확인 해보면 된다.https://jih3508.tistory.com..
문제 요약알고리즘 분류: 배열, 구현난이도: Medium문제내용:pivot 기준으로 pivot보다 작으면 원쪽으로 들어온 값 순서대로 정렬하고 pivot보다 크면 오르쪽으로 들어온 값 순서대로 정렬하세요.사이트 주소: https://leetcode.com/problems/partition-array-according-to-given-pivot/description/문제풀이이번 문제는 단순한 구현 문제인 일반 적인 정렬 문제는 아니다. 만약 아래와 같이 단순 정렬 하면 오답처리가 될 것이다.그래서 아래와 같이 들어온값 순서 대로 정렬 해야 정답 처리가 될것이다.그래서 아래와 같이 pivot 기준으로 3가지로 구분한 다음 합치기만 하면 구현적인 부분은 끝이다.왼쪽: pivot보다 작을 때중간: pivot이..
- Total
- Today
- Yesterday
- 넓이 우선 탐색
- LeetCode
- 동적 계획법
- 자바
- BaekJoon
- java
- 파이썬
- spring-boot
- 문자열
- JSCODE
- 이론
- level2
- DFS
- DP
- Greedy
- 동적계획법
- 그리디
- 누적합
- 백트레킹
- 조합
- 백준
- 배열
- Python
- 수학
- 구현
- Programmerse
- 재귀호출
- 그래프
- 알고리즘
- BFS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |