
www.acmicpc.net/problem/9237 9237번: 이장님 초대 입력은 두 줄로 이루어져 있다. 첫째 줄에는 묘목의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄에는 각 나무가 다 자라는데 며칠이 걸리는지를 나타낸 ti가 주어진다. (1 ≤ ti ≤ 1,000,000) www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그리디 알고리즘 정렬 ⊙ 문제 접근 과정 나무가 걸리는 시간을 입력받고 역으로 정렬시킨다. 날이 지나간 만큼 그 값을 더하고 가장 큰 값을 채택한다. ⊙ 문제 풀이 #include #include #include using namespace std; int N; vector v; int main() { cin >> N; fo..

https://www.acmicpc.net/problem/4796 4796번: 캠핑 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, L, P, V를 순서대로 포함하고 있다. 모든 입력 정수는 int범위이다. 마지막 줄에는 0이 3개 주어진다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 수학 그리디 알고리즘 ⊙ 문제 접근 과정 처음에는 V값을 계속해서 빼서 값을 도출해봤다. 예제는 전부 잘 출력되는데 오답이었다. 예외가 존재한다는 말이다. 예외: V% P> L이면 안 된다! 조금만 생각하면 왜인지 알 수 있다! -예외 예제- 5 8 15 오답은 12를 출력. 하지만 정답은 10 2 5 13 오답은 7을 출력. 하지..

https://www.acmicpc.net/problem/10775 10775번: 공항 예제 1 : [2][?][?][1] 형태로 도킹시킬 수 있다. 3번째 비행기는 도킹시킬 수 없다. 예제 2 : [1][2][3][?] 형태로 도킹 시킬 수 있고, 4번째 비행기는 절대 도킹 시킬 수 없어서 이후 추가적인 도킹은 불 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 자료 구조 그리디 알고리즘 분리 집합 ⊙ 문제 접근 과정 문제 이해가 너무 안 되었다. 진짜; 간단하게 정리하자면 게이트 수 G, 비행기 수 P가 있다. 그리고 G개의 게이트에 비행기가 한 대씩 도킹할 수 있고 꽉 차면 공항 폐쇄. g의 값을 비교하여 채운다. 채운다면 cnt 값을 올려주고 공항 폐쇄 o..

https://www.acmicpc.net/problem/2720 2720번: 세탁소 사장 동혁 각 테스트케이스에 대해 필요한 쿼터의 개수, 다임의 개수, 니켈의 개수, 페니의 개수를 공백으로 구분하여 출력한다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 수학 그리디 알고리즘 사칙연산 ⊙ 문제 접근 과정 while문과 if문을 적절히 사용하였다. ⊙ 문제 풀이 #include using namespace std; int T,paymoney; int main() { cin >> T; while(T--) { int Q=0,D=0,N=0,P=0; cin >> paymoney; while(paymoney) { if(paymoney>=25) { Q++; paymone..

https://www.acmicpc.net/problem/1188 1188번: 음식 평론가 첫째 줄에 소시지의 수 N과 평론가의 수 M이 주어진다. (1 ≤ N, M ≤ 100) www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 수학 ⊙ 문제 접근 과정 최대공약수만 생각해낸다면 코드 줄을 많이 줄일 수 있다. M-1에서 중복되는 개수 gcd(N, M) -1 개를 빼면 된다. ⊙ 문제 풀이 #include using namespace std; int N, M; int GCD(int x, int y) { if (x%y == 0) return y; return GCD(y, x%y); } int main(void) { cin >> N >> M; cout

https://www.acmicpc.net/problem/5014 5014번: 스타트링크 첫째 줄에 F, S, G, U, D가 주어진다. (1 ≤ S, G ≤ F ≤ 1000000, 0 ≤ U, D ≤ 1000000) 건물은 1층부터 시작하고, 가장 높은 층은 F층이다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그래프 이론 그래프 탐색 너비 우선 탐색 ⊙ 문제 접근 과정 BFS 문제라 BFS로 풀었는데 식으로도 충분히 풀 수 있다. 현재 층에 대해 위층과 아래층 값을 더하거나 뺀 값이 최고층보다 작거나 같거나, 0보다 크고 방문한 적 없는 층이라면 진행한다. 그리고 그 층을 다시 현재층에 대입하여 반복한다. 그러다가 목적층인 G와 현재층 S 값이 같다면 종..

https://www.acmicpc.net/problem/2847 2847번: 게임을 만든 동준이 학교에서 그래픽스 수업을 들은 동준이는 수업시간에 들은 내용을 바탕으로 스마트폰 게임을 만들었다. 게임에는 총 N개의 레벨이 있고, 각 레벨을 클리어할 때 마다 점수가 주어진다. 플레이어 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그리디 알고리즘 ⊙ 문제 접근 과정 만약 이전 값이 현재 값보다 더 크면 1씩 계속 빼주고 count up 하도록 코드를 짰다. ⊙ 문제 풀이 #include using namespace std; int N; int cnt=0; int arr[101]; int main() { cin >> N; for(int i=0;i> arr[i]; ..

https://www.acmicpc.net/problem/2810 2810번: 컵홀더 첫째 줄에 좌석의 수 N이 주어진다. (1 ≤ N ≤ 50) 둘째 줄에는 좌석의 정보가 주어진다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 구현 문자열 그리디 알고리즘 ⊙ 문제 접근 과정 모든 사람은 컵 한 개만 들 수 있다고 하니 만약 count의 수가 사람 수보다 넘어가는 것만 신경 써주면 된다. 마지막 출력에서 조건문을 사용하여 해결했다. ⊙ 문제 풀이 #include using namespace std; int N; char arr[51]; int main() { cin >> N; for(int i=0;i> arr[i]; int cnt=1; int temp=0; f..

https://www.acmicpc.net/problem/1138 1138번: 한 줄로 서기 첫째 줄에 사람의 수 N이 주어진다. N은 10보다 작거나 같은 자연수이다. 둘째 줄에는 키가 1인 사람부터 차례대로 자기보다 키가 큰 사람이 왼쪽에 몇 명이 있었는지 주어진다. i번째 수는 0보다 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 구현 ⊙ 문제 접근 과정 이번 문제를 풀 때 vector container의 멤버 함수 중 v.insert()를 사용했다. v.insert()에 대해선 아래에 적어놨다! 거꾸로 탐색하여 조건에 맞게 insert()를 사용해주었다. ex) 입력 N=4, arr={2, 1, 1, 0} v = 4 (마지막 arr 값은 항상 0이다.) ..

https://www.acmicpc.net/problem/1074 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. 만약, N > 1이 라서 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 분할 정복 재귀 ⊙ 문제 접근 과정 이 문제, 상당히 고전했다. 실버 1문제 맞냐? 먼저 4등분을 한 후, 행과 열이 몇 번째 칸(1, 2, 3, 4)에 있는지 찾아내자. 숫자를 위와같이 정한 이유는 Z 모양으로 탐색해서이다. 왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래 순서(Z 모양)대로 방문하여 각각 1, 2, 3, 4라고..
- Total
- Today
- Yesterday
- JS
- OS
- CPP
- 정답
- 답
- 백준
- C++
- 우종정
- 풀이
- 파이썬
- BFS
- 쉽게배우는자바프로그래밍
- 정리
- 정렬
- java
- 연습문제
- 자바스크립트
- 알고리즘
- 자바
- 해답
- 프로그래머스
- Python
- py
- 문자열
- 구현
- 쉽게배우는
- 그리디
- Web
- 쉽게 배우는 자바 프로그래밍
- 운영체제
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |