본문 바로가기
반응형

Programming/BOJ257

[C/C++] 백준 #2468 안전 영역(탐욕 알고리즘) #2468 문제는 그래프 이론, 부르트포스 방법 등으로 풀 수 있겠지만, 전 정렬을 이용한 탐욕 알고리즘을 이용해서 풀었습니다. 어쩌다 보니, 푼 사람 내에서 상위권에 있다보니 제 소스 참조횟수가 많은 문제가 되었네요. https://www.acmicpc.net/problem/2468 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net 제가 생각한 것은 단순합니다. 일단 지대가 높은 것부터 낮은 순으로 정렬을 합니다. 지대가 가장 높은 곳은 비가 가장 많이 왔을 때에도 안전지대가 되겠죠. 그리고 그 영역의 개수는 상호 .. 2023. 5. 16.
[C/C++] 백준 #2458 키 순서(플로이드 워샬) #2458은 n명의 사람들중에 일부 사람들끼리 키를 비교해서 그 결과를 아는 경우에, 정확하게 자신이 몇번째 키 순서를 가졌는지 알 수 있는 사람들의 숫자를 구하라는 문제입니다. https://www.acmicpc.net/problem/2458 2458번: 키 순서 1번부터 N번까지 번호가 붙여져 있는 학생들에 대하여 두 학생끼리 키를 비교한 결과의 일부가 주어져 있다. 단, N명의 학생들의 키는 모두 다르다고 가정한다. 예를 들어, 6명의 학생들에 대하여 www.acmicpc.net 처음에 접근한 방법은 위상정렬이었습니다. 하지만 위상정렬로 처리하기에는 한계가 있어서 플로이드 워샬 알고리즘을 변형해서 사용하기로 했습니다. 플로이드 워샬은 그래프에서 모든 노드간의 최소 비용 경로값을 계산해주는 알고리즘으.. 2023. 5. 11.
[Python] 백준 #2457 공주님의 정원(탐욕 알고리즘) #2457 문제는 탐욕 알고리즘을 이용해서 풀 수 있습니다. 탐욕 알고리즘은 정렬을 하고, 조건에 맞는 경우에는 우선 선택 과정을 하게 됩니다. https://www.acmicpc.net/problem/2457 2457번: 공주님의 정원 첫째 줄에는 꽃들의 총 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 각 꽃이 피는 날짜와 지는 날짜가 주어진다. 하나의 날짜는 월과 일을 나타내는 두 숫자로 표현된다. 예를 들어서, www.acmicpc.net 문제는 공주님의 정원에 늘 꽃이 한종류 이상 피어있게 하면서, 최소의 꽃을 정원에 두는 것입니다. 최소의 꽃의 개수를 구하는 것이 목표입니다. 이 문제를 풀기 위해서는 (꽃 피는 날짜, 꽃이 지는 날짜) 쌍을 적절하게 유지해야 합니다... 2023. 5. 8.
[C/C++] 백준 #2448 별 찍기 - 11(재귀 함수) #2447 문제와 같이 이번 문제도 재귀 함수를 이용한 별찍기입니다. 문제는 프랙탈에서 자주 나오는 사이펀스키 삼각형(Sierpiński triangle)을 찍는 것입니다. https://www.acmicpc.net/problem/2448 2448번: 별 찍기 - 11 첫째 줄에 N이 주어진다. N은 항상 3×2k 수이다. (3, 6, 12, 24, 48, ...) (0 ≤ k ≤ 10, k는 정수) www.acmicpc.net #2447 문제와 마찬가지로 캔버스를 만들고 재귀 함수를 이용하여 풀었습니다. //------------------------------------------------ // baekjoon #2448 - Printing Stars - 11 // - by Aubrey Choi /.. 2023. 5. 6.
[C/C++] 백준 #2447 별 찍기 - 10(재귀 함수) 별찍기 프로그램을 작성하는 프로그래밍 언어를 배울 때, 초기에 자주 나오는 문제입니다. 일반적으로 직각삼각형, 이등변삼각형을 많이 찍습니다. 이 문제들은 피라미드 찍기라는 이름으로도 많이 나옵니다. 조금 더 가면 다이아몬드 형태도 찍을 수 있게 됩니다. 일반적인 별 찍기 문제는 난이도면에서 상당히 낮습니다. 이번 문제는 난이도가 높은 별 찍기에 속합니다. 단순한 반복문 중복으로는 해결하기 어렵습니다. https://www.acmicpc.net/problem/2447 2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별.. 2023. 5. 6.
[C/C++] 백준 #2437 저울(탐욕 알고리즘) 이번 문제는 탐욕 알고리즘을 이용하여 풀면 됩니다. https://www.acmicpc.net/problem/2437 2437번: 저울 하나의 양팔 저울을 이용하여 물건의 무게를 측정하려고 한다. 이 저울의 양 팔의 끝에는 물건이나 추를 올려놓는 접시가 달려 있고, 양팔의 길이는 같다. 또한, 저울의 한쪽에는 저울추들만 놓 www.acmicpc.net 우리에게는 천칭저울로 알려진 무게를 재는 도구입니다. 한쪽에는 무게를 알고지 하는 물체를 다른 한쪽에는 추를 놓음으로써 평형을 이루는 지점을 찾아서 물체의 무게를 알 수 있습니다. 저울추가 N 종류 주어지면, 우리는 이 저울추 N개를 가지고 만들 수 있는 숫자들을 생각하면 됩니다. 어떻게 보면 코인 문제와 비슷한데, 코인 문제는 경우의 수를 따지지만, 여기.. 2023. 5. 2.
728x90