본문 바로가기

Algorithm706

[구현/수학] 백준 2751 수 정렬하기 2 - Python [ Contents ] 1. 문제 (링크 참조) 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 2. 문제 풀이 N개의 수가 주어졌을 때, 오름차순으로 정렬하는 문제입니다. 2022.01.19 - [Algorithm] - [Algorithm] 단골 1번 문제, 구현 / 수학 [Algorithm] 단골 1번 문제, 구현 / 수학 [ Contents ] 1. 구현 단순히 '구현'만 하면 되는 문제 유형입니다. 문제를 이해하고 입력에 맞춰 적절한 출력만 하면 됩니다. 특별한 알고리즘이나 프로그래밍적 기법.. 2022. 2. 1.
[그리디/Greedy] 백준 11047 동전 0 - Python [ Contents ] 1. 문제 (링크 참조) 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 2. 문제 풀이 주어진 동전 단위 내에서, 최소 동전 개수로 거슬러주는 문제입니다. 2022.01.26 - [Algorithm] - [Algorithm] 탐욕적인 그리디 알고리즘, 직관적이고 쉬운 문제해결 [Algorithm] 탐욕적인 그리디 알고리즘, 직관적이고 쉬운 문제해결 경주마들을 자세히 보면, 양쪽 시야를 차단하는 안대를 끼고 있습니다. 이를 .. 2022. 1. 31.
[구현/수학] 백준 1193 분수찾기 - Python [ Contents ] 1. 문제 (링크 참조) 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net 2. 문제 풀이 위와 같은 순서로 배열되는 분수의 규칙을 파악하는 문제입니다. 입력으로는 정수 X가 주어지며, 위와 같은 규칙에 따라 X번째 분수를 출력해야 합니다. 2022.01.19 - [Algorithm] - [Algorithm] 단골 1번 문제, 구현 / 수학 [Algorithm] 단골 1번 문제, 구현 / 수학 1. 구현 단순히 '구현'만 하면 되는 문제 유형입니다. 문제를 이해하고 입력에 맞춰 적절한 출력만 하면 됩니다. 특별한 알고리즘이나 프로그래밍적 기법 없이, 단순 제어문만 사용하여 해결할 star7sss.tistory.com 패.. 2022. 1. 31.
[구현] 백준 2941 크로아티아 알파벳 - Python [ Contents ] 1. 문제 (링크 참조) 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 2. 문제 풀이 'c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z=' 크로아티아 알파벳이 섞인 문자열의 길이를 구하는 문제입니다. 크로아티아의 알파벳은 2개 이상의 문자 조합으로 표현하며, 1개로 취급합니다. 2022.01.19 - [Algorithm] - [Algorithm] 단골 1번 문제, 구현 / 수학 [Algorithm] 단골 1번 문제.. 2022. 1. 30.
[분할정복/DQ] 백준 2630 색종이 만들기 - Python [ Contents ] 1. 문제 (링크 참조) 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net 2. 문제 풀이 잘라진 하얀색 색종이와 파란색 색종이의 개수를 구하는 문제입니다. 정사각형의 색종이에 하얀색과 파란색이 섞여 있을 경우, 분리될 때까지 4분할을 합니다. 입력으로 주어지는 색종이의 크기는 2, 4, 8, 16, 32, 64, 128 중 하나입니다. 2022.01.29 - [Algorithm] - [Algorithm] 분할정복(DQ, Divide-and-Conquer), 각.. 2022. 1. 29.
[Algorithm] 분할정복(DQ, Divide-and-Conquer), 각개격파 알고리즘 각개격파(各個擊破): 적을 하나하나 따로 떼어 무찌름 유독 외세의 침략을 많이 받았던 우리 민족의 대표적인 전술은 '매복'과 '각개격파'였습니다. 70%가 산악지형인 점을 이용해서, 산개된 적들을 각각 무찔렀습니다. 이런 각개격파 전술은 '알고리즘 문제'에서도 유효합니다. 사람 사는 세상의 이치는 만물이 통하니까요. [ Contents ] 1. 분할 정복 알고리즘 분할 정복(Divide-and-Conquer, DQ): 주어진 문제의 입력을 분할하여 해결하는 방식 알고리즘 문제도 분할해서 풀면, 쉽게 해결되는 경우가 많습니다. 예를 들어, 방대한 데이터(100GB)를 오름차순으로 정렬하는 문제는 그대로 해결할 수 없습니다. 한 번에 정렬을 하려면, 데이터베이스의 모든 데이터를 메인 메모리(RAM)에 올려야.. 2022. 1. 29.
[구현/수학] 백준 10872 팩토리얼 - Python, Java [ Contents ] 1. 문제 (링크 참조) 10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net 2. 문제 풀이 팩토리얼을 구하는 문제입니다. 2022.01.19 - [Algorithm] - [Algorithm] 단골 1번 문제, 구현 / 수학 [Algorithm] 단골 1번 문제, 구현 / 수학 1. 구현 단순히 '구현'만 하면 되는 문제 유형입니다. 문제를 이해하고 입력에 맞춰 적절한 출력만 하면 됩니다. 특별한 알고리즘이나 프로그래밍적 기법 없이, 단순 제어문만 사용하여 해결할 star7sss.tistory.com 반복문을 이용하면 쉽게 구할 수 있는 문제입니다. 괜히 어설프게 재귀함수를 사용하면 시간초과가 .. 2022. 1. 28.
[구현/수학] 백준 2908 상수 - Python, Java [ Contents ] 1. 문제 (링크 참조) 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 2. 문제 풀이 숫자를 거꾸로 변환하고 크기 비교하는 문제입니다. 2022.01.19 - [Algorithm] - [Algorithm] 단골 1번 문제, 구현 / 수학 [Algorithm] 단골 1번 문제, 구현 / 수학 1. 구현 단순히 '구현'만 하면 되는 문제 유형입니다. 문제를 이해하고 입력에 맞춰 적절한 출력만 하면 됩니다. 특별한 알고리즘이나 프로그래밍적 기법 없이, 단순 제어문만 사용하여 해결할 star7sss.t.. 2022. 1. 28.
[구현/수학] 백준 4673 셀프 넘버 - Python, Java [ Contents ] 1. 문제 (링크 참조) 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 2. 문제 풀이 10000이하의 셀프 넘버를 출력하는 문제입니다. 셀프 넘버의 규칙은 다음과 같습니다. 생성자 d(n): 자기 자신(n)과 각 자리수를 더한 수 Self Number: 생성자가 없는 수 2022.01.19 - [Algorithm] - [Algorithm] 단골 1번 문제, 구현 / 수학 [Algorithm] 단골 1번 문제, 구현 / 수학 1. 구현.. 2022. 1. 28.