문제 요약 알고리즘 분류: 동적계획법 난이도: Silver1 문제내용: 빨강, 초록, 파랑색의 N개 집이 있다. 그리고 각 집에 각 색에 칠하는 색의 비용이 있다. i번째와와 i-1, i + 1번째 색은 달라야 한다. 모든 집의 최소 비용으로 칠하는 비용을 구하여라 사이트 주소: https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 문제풀이 문제 접근 방법 이 문제는 동적계획법이다. 그래서 점화식을 짜는 방법만 알면 된다. 위 ..
문제 요약 알고리즘 분류: 정렬, 재귀 난이도: Gold4 문제내용: 사람수 N, 파티수 M 있다. 기존에 진실을 알수 있는 사람의 수와 번호가 있다. 진실을 알 수 있는 사람이랑 파티에 있는 경우 다른 사람이 알수 있어서 과장된 이야기를 할수없다. 최대한 피해서 과장된 이야기 할수 있는 파티 개수를 구해라 사이트 주소: https://www.acmicpc.net/problem/1043 1043번: 거짓말 지민이는 파티에 가서 이야기 하는 것을 좋아한다. 파티에 갈 때마다, 지민이는 지민이가 가장 좋아하는 이야기를 한다. 지민이는 그 이야기를 말할 때, 있는 그대로 진실로 말하거나 엄청나게 www.acmicpc.net 문제풀이 알고있는 사람을 set 구조를 선언한다. 파티에 참여하는 사람도 set 구조로..
문제 요약 알고리즘 분류: 유클리드 호제법 난이도: Silver4 문제내용: 첫 번째 링과 그 뒤의 각 링의 비례 하는 회전 수를 기약 분수 형태로 표현해라. 사이트 주소: https://www.acmicpc.net/problem/3036 3036번: 링 출력은 총 N-1줄을 해야 한다. 첫 번째 링을 제외한 각각의 링에 대해서, 첫 번째 링을 한 바퀴 돌리면 그 링은 몇 바퀴 도는지 기약 분수 형태 A/B로 출력한다. www.acmicpc.net 문제 풀이 1. 문제 접근 방법 이 문제는 회전의 비례를 구해야 한다. 예를 들어 A가 20 바퀴를 돌아가고 B가 12 바퀴 돌아 간다고 가정 한다면 A : B = 20 : 12 = 10 : 6 = 5 : 3 으로 표현 할수있다. 그래서 기약 분수를 구하기 위..
문제 요약 알고리즘 분류: 유클리드 호제법 난이도: Gold4 문제내용: 종이의 적힌 수에서 M으로 나누었을 때 나머지가 같은 M의 수를 모두 구하세요. M은 1보다 커야 한다. 사이트:https://www.acmicpc.net/problem/2981 2981번: 검문 트럭을 타고 이동하던 상근이는 경찰의 검문을 받게 되었다. 경찰은 상근이가 운반하던 화물을 하나하나 모두 확인할 것이기 때문에, 검문하는데 엄청나게 오랜 시간이 걸린다. 상근이는 시간 www.acmicpc.net 문제풀이 import sys input = sys.stdin.readline array = [int(input()) for _ in range(int(input()))] min_num = min(array) result = [] ..
문제 요약 알고리즘 분류: 유클리드 호제법 난이도: Bronze1 문제내용: 테스트케이스 개수만큼 두 수의 최소 공배수를 구하면 된다. 사이트: https://www.acmicpc.net/problem/1934 1934번: 최소공배수 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있 www.acmicpc.net 문제풀이 위 문제는 유클리드 호제법으로 푸는 방법이다. 유클리드 호제법에 내한 내용은 아래의 사이트에 참조 하면된다 [알고리즘/이론] - 유클리드 호제법(Euclidean algorithm) 유클리드 호제법(Euclidean algor..
병합정렬 병합정렬은 정렬 알고리즘중 하나이다. 병합 정렬의 자세한 내용은 아래 사이트에 참조 하면 된다. https://ko.wikipedia.org/wiki/%ED%95%A9%EB%B3%91_%EC%A0%95%EB%A0%AC 합병 정렬 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 합병 정렬 또는 병합 정렬(merge sort)은 O(n log n) 비교 기반 정렬 알고리즘이다. 일반적인 방법으로 구현했을 때 이 정렬은 안정 정렬에 속하며, 분할 정복 알고리 ko.wikipedia.org 문제 요약 알고리즘 분류: 정렬, 재귀 난이도: Silver4 문제내용: 문자열길이를 출력한다. 사이트 주소: https://www.acmicpc.net/problem/24060 24060번: ..
문제 요약 알고리즘 분류: 문자열 난이도: Bronze5 문제내용: 문자열길이를 출력한다. 사이트 주소: https://www.acmicpc.net/problem/2743 문제풀이 Python은 len 내장함수를 사용한다 Java는 length 메소드를 사용한다. 코드 Python print(len(input())) Java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new..
문제 요약 알고리즘 분류: 문자열, 재귀 난이도: Bronz2 문제내용: 첫째 줄 테스트 케이스 T와 T개 만큼 문자열을 입력한다. isPalindrome 함수 만들고 각 테스트 케이스마다 팰린드롬 여부와 재귀 호출 몇번 했는지 출력한다. 사이트 주소: https://www.acmicpc.net/problem/25501 25501번: 재귀의 귀재 각 테스트케이스마다, isPalindrome 함수의 반환값과 recursion 함수의 호출 횟수를 한 줄에 공백으로 구분하여 출력한다. www.acmicpc.net 문제 풀이 isPalindrome 선언하고 파라미터 오른쪽 왼쪽 인덱스를 선언한다. 왼쪽 인덱스 수와 오른쪽 인덱스 수랑 같거나 큰경우 팰린드롬 참으로 한다. 왼쪽 인덱스 값과 오르쪽 인덱스 값이 다..
- Total
- Today
- Yesterday
- 문자열
- 알고리즘
- spring-boot
- JSCODE
- 동적계획법
- java
- Python
- LeetCode
- 백트레킹
- 그리디
- 동적 계획법
- 구현
- 자바
- 수학
- Programmerse
- BaekJoon
- DP
- DFS
- 이론
- 그래프
- BFS
- 파이썬
- 백준
- 배열
- 재귀호출
- 누적합
- level2
- Greedy
- 넓이 우선 탐색
- 조합
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |