https://www.acmicpc.net/problem/1449 1449번: 수리공 항승 첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그리디 알고리즘 정렬 ⊙ 문제 접근 과정 vector를 이용해 값을 입력받고 정렬을 해주었다. 그 후 temp 변수를 만들어 현재 위치와 다음 위치의 차이를 계속해서 빼주었다. (테이프가 소모되는 값) 만약 테이프가 남아있으면 계속 반복, 부족하면 count up 후 temp 초기화 후 반복. ⊙ 문제 풀이 #includ..
https://www.acmicpc.net/problem/1439 1439번: 뒤집기 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그리디 알고리즘 ⊙ 문제 접근 과정 일단 다 풀고 다른 풀이 검색해보니 내 코드가 제일 짧아서 기분이 좋았다. (가장 중요) 각설하고, 다음 숫자가 다르면 count up 해주고 마지막에 2로 나눠준다. 2로 나누는 이유 : 중복 제거 ⊙ 문제 풀이 #include using namespace std; string s; int resul..
https://www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그리디 알고리즘 ⊙ 문제 접근 과정 제일 왼쪽 도시부터 제일 오른쪽 도시까지의 거리는 1 이상 1,000,000,000 이하의 자연수라 long long을 사용해주었다. ⊙ 문제 풀이 #include #include #include using namespace std; typedef long long ll; ll N; ll..
https://www.acmicpc.net/problem/1946 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그리디 알고리즘 정렬 ⊙ 문제 접근 과정 만약 이 문제가 안 풀린다면, 문제 자체가 이해가 안 될 확률이 높다고 생각한다. 서류 순위 면접 순위 1 4 2 3 3 2 4 1 5 5 먼저 서류 순위로 정렬한다. 서류가 1등인 사람의 면접 순위는 4등이다. 그다음 서류 2등과 비교! 만약 서류 2등의 면접 순위가 4등보..
https://www.acmicpc.net/problem/2217 2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 수학 그리디 알고리즘 정렬 물리학 ⊙ 문제 접근 과정 내림차순 정렬을 한 후, min_element 함수를 사용하여 처음엔 시간 초과가 났다. 곰곰이 생각해보니 정렬을 했는데 min_element를 사용할 이유가 없었다. 바로 index로 접근하여 max함수를 이용해 정답 값인 rope를 구하였다. ⊙ 문제 풀이 #include..
https://www.acmicpc.net/problem/10162 10162번: 전자레인지 3개의 시간조절용 버튼 A B C가 달린 전자레인지가 있다. 각 버튼마다 일정한 시간이 지정되어 있어 해당 버튼을 한번 누를 때마다 그 시간이 동작시간에 더해진다. 버튼 A, B, C에 지정된 시간은 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 수학 구현 그리디 알고리즘 ⊙ 문제 접근 과정 최대한 쉽게 접근하기 위해 생각나는 대로 코드를 작성했다. flag boolean을 만들고 T값이 10 이하로 내려가면 멈추는 while문을 만들었다. 만약 T값이 0이면 A, B, C 값 출력, 아니면 -1을 출력한다. ⊙ 문제 풀이 #include using namespace s..
https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그리디 알고리즘 정렬 ⊙ 문제 접근 과정 벡터로 값을 받고 정렬한 후 두 번째 값과 첫 번째 값을 비교해주면서 count 값을 올려주었다. ⊙ 문제 풀이 #include #include #include using namespace std; int N; int cnt=1; vector v; bool comp(pair a,pair b) { if(a.second == b.second) { return a.first < b.first; } else { retu..
www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그리디 알고리즘 ⊙ 문제 접근 과정 조건에서 입력도 무작위가 아닌 친절하게 오름차순으로 정렬하여서 입력하라고 한다. 막힘없이 코드를 작성했고 예제 입출력과 같은 값을 출력할 수 있었다. 하지만 틀렸다고 떴다. 아래 코드이다. #include using namespace std; int m..
www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그리디 알고리즘 정렬 ⊙ 문제 접근 과정 그리디 알고리즘이다. 그리디 알고리즘은 배열을 하면 손쉽게 풀 수 있다. 값을 입력받고 오름차순으로 정리한 뒤에 순서대로 result 변수에 값을 넣어주고 값을 도출해냈다. ⊙ 문제 풀이 #include #include #include using namespace std; int main() { vector vec; int N; int to..
- Total
- Today
- Yesterday
- 운영체제
- 알고리즘
- Web
- CPP
- 정렬
- Python
- 쉽게배우는자바프로그래밍
- 백준
- 연습문제
- 프로그래머스
- 풀이
- 그리디
- 답
- 파이썬
- OS
- 자바
- java
- 정리
- 쉽게배우는
- JS
- 문자열
- 우종정
- C++
- 구현
- py
- 쉽게 배우는 자바 프로그래밍
- 정답
- 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 |