Algorithm/백준 문제 풀이

    [2217번] 로프

    백준 2217번: 로프 2217번: 로프 N(1≤N≤100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하지만 여러 개의 로프를 병렬로 연결하면 각각의 로프에 걸리는 중량을 나눌 수 있다. k개의 로프를 사용하여 중량이 w인 물체를 들어올릴 때, 각각의 로프에는 모두 고르게 w/k 만큼의 중량이 걸리게 된다. 각 로프들에 대한 정보가 주어졌을 때, 이 로프들을 www.acmicpc.net 주어진 로프들로 들 수 있는 최대 중량을 구하는 문제입니다. 들 수 있는 최대 중량은 (현재 선택된 로프) * (현재까지 훑어본 로프 수) 를 차례대로 보면서 최댓값을 선택하면 답이 될..

    [1904번] 01타일

    백준 1904번: 01타일 1904번: 01타일 지원이에게 2진 수열을 가르쳐 주기 위해, 지원이 아버지는 그에게 타일들을 선물해주셨다. 그리고 이 각각의 타일들은 0 또는 1이 쓰여 있는 낱장의 타일들이다. 어느 날 짓궂은 동주가 지원이의 공부를 방해하기 위해 0이 쓰여진 낱장의 타일들을 붙여서 한 쌍으로 이루어진 00 타일들을 만들었다. 결국 현재 1 하나만으로 이루어진 타일 또는 0타일을 두 개 붙인 한 쌍의 00타일들만이 남게 되었다. 그러므로 지원이는 타일로 더 이상 크기가 N인 모든 2진 수 www.acmicpc.net 흔한 DP 문제 중 하나 입니다. 타일의 크기만큼 만들 수 있는 경우의 수 세기인데, 규칙은 아주 찾기 쉬웠습니다. 점화식 찾기의 말만 바꾼 것이라 생각하면 됩니다. [소스 보기]

    [1018번] 체스판 다시 칠하기

    백준 1018번: 체스판 다시 칠하기 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. M과 N은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개 줄에는 체스판의 색 상태가 주어진다. B는 검정색이며, W는 흰색이다. www.acmicpc.net 저희들이 한 번쯤은 접해본 체스판의 모양에 대한 문제입니다. 체스판에 있는 각 사각형들의 패턴은 검은색과 하얀색이 번갈아 칠해지는 것이라 할 수 있습니다. 지민이는 잘못 칠해진 체스판의 색을 다시 패턴에 맞게 칠하고 싶어 합니다. 이때 그 최소 횟수를 구하는 문제입니다. ▶ 입력 첫째 줄에 N과 M이 주어진다. M과 N은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개 줄에는 체스판의 색 상태가 주..

    [6986번] 절사평균

    백준 6986번: 절사평균 6986번: 절사평균 첫째 줄에 절사평균(N, K)를, 둘째 줄에 보정평균(N, K)를 각각 소수점이하 셋째 자리에서 반올림하여 둘째 자리까지 출력한다. 예를 들어 결과값이 9.667인 경우 9.67로, 5인 경우 5.00으로, 5.5인 경우에는 5.50으로 출력한다. www.acmicpc.net 절사평균, 보정평균에 대해 다룬 문제입니다. 이 문제는 사실 구현 및 수학 문제이니 구현 자체는 쉽습니다. 그런데 왜 이 문제에 대해 포스팅 하려 할까요? 일단 코드 보시고 알려드리도록 하죠. ▶ 입력 첫째 줄에 전체 점수의 개수 N과 제외되는 점수의 개수 K가 빈칸을 사이에 두고 주어진다. N은 3 이상 100,000 이하의 자연수이다. K는 0 이상 (N/2)-1 이하로 주어진다...

    [2566번] 최댓값

    백준 2566번: 최댓값 2566번: 최댓값 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다. www.acmicpc.net 코딩 문제 중 흔한 유형 중 하나인 최댓값 구하기 문제입니다. 이번 문제는 행렬에서 최댓값과 그 위치를 출력하는 문제군요. 간단하니 바로 풀어보도록 하겠습니다. ▶ 입력 첫째 줄부터 아홉 번째 줄까지 한 줄에 아홉 개씩 자연수가 주어진다. 주어지는 자연수는 100보다 작다. ▶ 출력 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다..

    [2738번] 행렬 덧셈

    백준 2738번: 행렬 덧셈 2738번: 행렬 덧셈 첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같고, 행렬의 원소는 절댓값이 100보다 작거나 같은 정수이다. www.acmicpc.net 이번 문제는 간단한 행렬 덧셈 문제이다. 행렬에 대해 잘 모르겠다면 이곳을 참고해보길 바란다. '행렬의 덧셈'은 아주 간단하다. N * M 크기의 행렬 A, B가 존재할 때, 각 성분별로 더해서 N * M 크기의 새 행렬로 만들어주면 된다. ▶ 입력 첫째 줄에 행렬의 크기 N과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다...

    [9020번] 골드바흐의 추측

    백준 9020번: 골드바흐의 추측 9020번: 골드바흐의 추측 문제 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아니다. 골드바흐의 추측은 유명한 정수론의 미해결 문제로, 2보다 큰 모든 짝수는 두 소수의 합으로 나타낼 수 있다는 것이다. 이러한 수를 골드바흐 수라고 한다. 또, 짝수를 두 소수의 합으로 나타내는 표현을 그 수의 골드바흐 파티션이라고 한다. www.acmicpc.net 이번에 풀어볼 문제는 "골드바흐의 추측"이라는 문제입니다. 문제를 읽기에 앞서 '골드바흐의 추측'에 대해 알아봅시다. ...더보기 골드바흐의 추측(Goldbach'..