티스토리 뷰
반응형
https://www.acmicpc.net/problem/1449
1449번: 수리공 항승
첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나
www.acmicpc.net
⊙ 문제
⊙ 입력
⊙ 출력
⊙ 예제 입출력
⊙ 알고리즘 분류
- 그리디 알고리즘
- 정렬
⊙ 문제 접근 과정
vector를 이용해 값을 입력받고 정렬을 해주었다.
그 후 temp 변수를 만들어 현재 위치와 다음 위치의 차이를 계속해서 빼주었다. (테이프가 소모되는 값)
만약 테이프가 남아있으면 계속 반복, 부족하면 count up 후 temp 초기화 후 반복.
⊙ 문제 풀이
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int N,L;
vector<int> v;
int main() {
cin >> N >> L;
for(int i=0;i<N;i++) {
int x;
cin >> x;
v.push_back(x);
}
sort(v.begin(),v.end());
int result=1;
int temp=L-1;
for(int i=0;i<N-1;i++) {
if(v[i+1]-v[i]<=temp) {
temp-=v[i+1]-v[i];
} else {
temp=L-1;
result++;
}
}
cout << result;
}
⊙ 결과
⊙ 마무리
그리디 알고리즘 위주로 문제를 풀고 있는데 생각보다 재미있다.
좋아요는 로그인하지 않아도 누를 수 있습니다!
728x90
반응형
'백준 온라인 저지 [BOJ] > C++ [CPP]' 카테고리의 다른 글
[백준(BOJ)] 16953번 : A → B - C++[CPP] (0) | 2021.06.25 |
---|---|
[백준(BOJ)] 1543번 : 문서 검색 - C++[CPP] (0) | 2021.06.25 |
[백준(BOJ)] 1439번 : 뒤집기 - C++[CPP] (0) | 2021.06.25 |
[백준(BOJ)] 13305번 : 주유소 - C++[CPP] (0) | 2021.06.24 |
[백준(BOJ)] 1946번 : 신입 사원 - C++[CPP] (0) | 2021.06.24 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- OS
- 정렬
- Python
- JS
- 쉽게배우는자바프로그래밍
- 우종정
- C++
- py
- 백준
- Web
- 쉽게 배우는 자바 프로그래밍
- 답
- CPP
- 풀이
- 자바
- 문자열
- java
- 운영체제
- 정답
- 알고리즘
- 그리디
- 자바스크립트
- 파이썬
- 연습문제
- 프로그래머스
- BFS
- 해답
- 정리
- 구현
- 쉽게배우는
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
글 보관함