문제 요약알고리즘 분류: Hash, list난이도: Medium문제내용:groupSizes라는 정수 배열이 주어지는데, 여기서 groupSizes[i]는 사람 i가 속한 그룹의 크기이다.그룹은 groupSize 크기 만큼 그룹에 속해야 한다.각 사람이 groupSizes[i]의 크기를 가진 그룹에 속하는 그룹의 목록을 반환해라사이트 주소: https://leetcode.com/problems/group-the-people-given-the-group-size-they-belong-to/description/문제풀이 이번 문제는 Hash와 리스트를 활용 하면되는 간단한 문제 이다. 구현은 아래와 같이 하면된다.결과에 담을 2차원 리스트와 Hash에 저장할 변수를 선언한다. Hash의 key-value는 ..
문제 요약알고리즘 분류: 수학난이도: Medium문제내용:숫자 n이 주어지면 2 ~ n-2 진법까지 변환한다.집법으로 변환 한 것에서 뒤집은 숫자와 다른 것 하나라도 있으면 false로 반환 한다. 사이트 주소: https://leetcode.com/problems/strictly-palindromic-number/description/문제풀이 이번 문제는 Palindromic Number 문제이다. 근데 여기서 진법으로 변환해서 뒤집은 숫자와 다른지 파악하면 된다.여기서 구현 해야 할것은 n진법 변환 작업이다. 자바는 n진법 변환 하는 함수 제공하는데 파이썬은 직접 구현 해야한다.파이썬 진법 구현은 아래와 같이 하면된다.# 진법 변환def baseN(num: int, base) -> int: p..
문제 요약알고리즘 분류: 수학난이도: Medium문제내용:pref이라는 리스트가 주어진다.pref[i] = arr[0] ^ arr[1] ^ arr[2] ...... ^ arr[i] 식처러 arr 0번째 인덱스 부터 i번째 xor연산된 값이다.xor 연산되기 전의 arr를 구하여라사이트 주소: https://leetcode.com/problems/find-the-original-array-of-prefix-xor/description/문제풀이 이번 문제는 xor의 법칙만 알면 쉽게 풀수 있는 문제이다.위 내용 보면 pref[i] = arr[0] ^ arr[1] ^ arr[2] ...... ^ arr[i]으로 되어 있으면 pref[0] = arr[0]으로 0번째 인덱스는 그대로 넣으면 된다. 그럼 첫번..
문제 요약알고리즘 분류: DP난이도: Medium문제내용:가로, 세로 안에 0 과 1로 채워져 있다. 0은 빈곳 1은 면적이 있는 공간이다.정사각형 최대 넓이를 구하여라사이트 주소: https://leetcode.com/problems/maximal-square/description/문제풀이 이번 문제는 간단한 DP(동적계획법) 문제이다. DP에 대한 자세한 설명은 아래글에서 확인 해보면 된다.https://jih3508.tistory.com/89 [알고리즘 이론] 동적계획법(Dynamic Programming, DP)이론 이번에 볼 알고리즘은 동적계획법(Dynamic Programming)이다. 이 알고리즘은 줄어서 dp라고 많이 불리고 코딩테스트에도 자주 나오는 유형이라서 무조건 알아야 되는 알고즘..
문제 요약 알고리즘 분류: DFS, 백트래킹, Tree, Hash 난이도: Medium 문제내용: 이진 트리에서 가장 깊은 노드 합을 구하여라 사이트 주소: https://leetcode.com/problems/deepest-leaves-sum/description/ 문제풀이 이번 문제는 아래 트리 자료구조 통해서 가장 깊은 노드의 합을 구하는 것이다. 트리, 깊이 우선 탐색, 백트레킹에 관한 개념은 아래 글에서 확인 해보면된다. 트리: https://jih3508.tistory.com/87 백트레킹: https://jih3508.tistory.com/84 깊이 우선 탐색(DFS): https://jih3508.tistory.com/94 Python class TreeNode: def __init__(s..
문제 요약 알고리즘 분류: DFS, 백트래킹 난이도: Medium 문제내용: n까지 숫자를 사전순으로 정렬 하여라. 사이트 주소: https://leetcode.com/problems/lexicographical-numbers/description/ 문제풀이 이번 문제는 숫자를 사전 순으로 정렬 하는것이다. 1, 2, 3 순이 아니라 1, 10, 100순으로 앞자리가 낮은 순으로 정렬 하는것이다. 이 문제는 깊이 우선 탐색, 백트레킹으로 해결하면된다. 깊이 우선 탐색, 백트레킹 자세한것은 아래 글에서 확인 해보면 된다. 백트레킹: https://jih3508.tistory.com/84 깊이 우선 탐색: https://jih3508.tistory.com/94 [알고리즘 이론] 깊이 우선 탐색(DFS) 이론..
문제 요약 알고리즘 분류: 동적계획법(DP) 난이도: Medium 문제내용: 숫자로된 문자열 S가 주어진다. 1~26을 A ~ Z로 디코딩 가능하다. 문자열에서 조합 가능한 가지수를 출력해라. 단 01 ~ 09은 안된다. 사이트 주소: https://leetcode.com/problems/decode-ways/description/ 문제풀이 이번 문제에는 모든 경우의 수를 구해서 풀기가 힘들다. 모든 경우의 수를 구하기에는 시간이 많이 걸려서 시간이 최적화 되도록 풀어야한다. 그래서 이번문제는 DP로 해결할것이다. DP관련 자세한 설명은 아래 글로 확인 해보면된다. https://jih3508.tistory.com/89 [알고리즘 이론] 동적계획법(Dynamic Programming, DP) 이론 이번에..
문제 요약 알고리즘 분류: 백트레킹, DFS, 위상정렬 난이도: Medium 문제내용: 강의 수 numCourse와 prerequisites 배열을 준다. prerequisites[i]는 [a, b]가 들어 있다. b 수강 하기 위해서는 a수강을 먼저 들어아한다. 수강 들을수 있는지 참/거짓으로 반환 하여라. 사이트 주소: https://leetcode.com/problems/course-schedule/ 문제풀이 이번 문제는 깊이우선탐색, 백트레킹, 위상정렬을 활용한 문제이다. 두개에 관련 설명은 아래 글에서 확인하면 된다. 깊이우선탐색(DFS): https://jih3508.tistory.com/94 백트레킹: https://jih3508.tistory.com/84 위상 정렬: https://namu..
- Total
- Today
- Yesterday
- 이론
- 수학
- 동적 계획법
- LeetCode
- 백트레킹
- BFS
- 파이썬
- 조합
- BaekJoon
- 백준
- 재귀호출
- 동적계획법
- Greedy
- java
- 누적합
- 알고리즘
- JSCODE
- 구현
- 배열
- 문자열
- level2
- DP
- DFS
- Programmerse
- 그리디
- Python
- 넓이 우선 탐색
- spring-boot
- 자바
- 그래프
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |