티스토리 뷰
반응형
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
- 해답
- 문자열
- Python
- 자바
- 정답
- py
- 구현
- 풀이
- 쉽게배우는
- 정렬
- 알고리즘
- JS
- 쉽게 배우는 자바 프로그래밍
- 우종정
- BFS
- 연습문제
- 자바스크립트
- 답
- 프로그래머스
- 쉽게배우는자바프로그래밍
- 정리
- OS
- java
- 그리디
- Web
- CPP
- 파이썬
- 백준
- C++
- 운영체제
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함