728x90
SMALL
백준 문제 풀이: 20363 (당근 키우기)
문제 링크: https://www.acmicpc.net/problem/20363
문제 설명:
당근 농장에서 두 가지 작물을 키우는데, 첫 번째 작물(x)과 두 번째 작물(y)을 선택합니다. 작물을 키울 때는 더 큰 작물에 추가적인 노력이 필요합니다. 각 작물의 크기 중 더 큰 값에 작은 값의 10%만큼의 추가 노력을 더한 값을 계산하여, 총 필요한 노력의 크기를 구합니다.
문제 해결 코드
#include <iostream>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
int x, y; // 첫 번째 작물과 두 번째 작물의 크기
cin >> x >> y;
// 더 큰 값에 더 작은 값의 10%를 추가하여 계산
int ans = max(x, y) + min(x, y) + min(x, y) / 10;
cout << ans << '\n'; // 결과 출력
return 0;
}
코드 설명
코드의 주요 로직과 사용된 알고리즘 설명:
- 핵심 알고리즘: 두 작물의 크기를 비교하여 더 큰 작물에는 더 작은 작물의 10%만큼 추가 노력을 더합니다.
- 구현 세부사항:
max(x, y)
와min(x, y)
를 사용하여 간결하게 더 큰 값과 더 작은 값을 구분합니다.- 추가 계산 부분은
min(x, y) / 10
로 구현하여 문제의 조건을 만족합니다.
- 시간 복잡도 분석:
- 주어진 두 정수를 비교하고 연산하는 과정은 O(1)입니다.
- 전체 코드의 시간 복잡도는 O(1)로 매우 효율적입니다.
결과
주어진 두 작물의 크기를 기준으로 추가 노력까지 포함된 총 작업량을 정확히 계산합니다.
다른 접근 방식이나 개선 사항이 있다면 댓글로 공유 부탁드립니다!
728x90
LIST
'BAEKJOON > 수학' 카테고리의 다른 글
백준 8674번 [Tabliczka](C++) -yes6686- 티스토리 (0) | 2024.08.10 |
---|---|
백준 1434번 [책 정리](C++) -yes6686- 티스토리 (0) | 2024.07.28 |
백준 1393번 [음하철도 구구팔](C++) -yes6686- 티스토리 (0) | 2024.07.27 |
백준 23082번 [균형 삼진법](C++) -yes6686- 티스토리 (0) | 2024.07.25 |
백준 23814번 [아 저는 볶음밥이요](C++) -yes6686- 티스토리 (1) | 2024.07.22 |