![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bOlS1o/btq8TvSfov2/ERSnxZxkIrc9k6vxOkYfZ1/img.png)
https://www.acmicpc.net/problem/1072 1072번: 게임 김형택은 지금 몰래 Spider Solitaire(스파이더 카드놀이)를 하고 있다. 형택이는 이 게임을 이길 때도 있었지만, 질 때도 있었다. 누군가의 시선이 느껴진 형택이는 게임을 중단하고 코딩을 하기 시 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 수학 이분 탐색 ⊙ 문제 접근 과정 문제를 보자마자 무지성으로 코드를 단순하게 짜 봤다. 그리고 시간 초과가 떴다. ㅎ 시간 초과를 본 후 자연스럽게 투 포인터 알고리즘을 적용시켜 시간 초과를 해결했다. ※주의사항 99%는 아무리 해도 100%가 되지 않는다. ⊙ 문제 풀이(시간 초과 코드) #include using namesp..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/br61tp/btq8NuMis8F/5IYLksDaJLGrokKEJvwRu1/img.png)
https://www.acmicpc.net/problem/15904 15904번: UCPC는 무엇의 약자일까? 첫 번째 줄에 알파벳 대소문자, 공백으로 구성된 문자열이 주어진다. 문자열의 길이는 최대 1,000자이다. 문자열의 맨 앞과 맨 끝에 공백이 있는 경우는 없고, 공백이 연속해서 2번 이상 주어지는 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 문자열 그리디 알고리즘 ⊙ 문제 접근 과정 UCPC라는 문자 배열을 만들어주어 입력받은 값이 같다면 UCPC 순서대로 제거해준다. 마지막에는 ucpc 길이가 0이라면 love, 0이 아니라면 hate 출력 ⊙ 문제 풀이 string = input() ucpc = ['U','C','P','C'] for k in st..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/5qyFb/btq8GP46Ew5/lmipcuvFrGcYySRgvizBa1/img.png)
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을 출력. 하지..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/nb8px/btq8Gn1UE6L/oZxgpOzUintUdJBUwKztMK/img.png)
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..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/HsgrF/btq8xDYDv2K/FnxurXuewmVm5eKFbKYNJk/img.png)
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..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/crj1NC/btq8vvel8aJ/8xZBB5gpebkFLWKeKPCDQk/img.png)
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
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/c6QOhV/btq8uILSfvV/VvaYukCFZ5JCRcgMyL4Wlk/img.png)
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 값이 같다면 종..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/mlNTI/btq8pqD7vKa/4mGzKIDdkfWhEQeet8fmu1/img.png)
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]; ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/kypmy/btq8eHGRUmm/O0B1FCz4UcXNmVDJk1ogF1/img.png)
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..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/c1YU3j/btq8dsQjJCt/HBgkUwrOyvR7UUYEmxe5z1/img.png)
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이다.) ..
- Total
- Today
- Yesterday
- 우종정
- C++
- 자바스크립트
- CPP
- 쉽게배우는
- 문자열
- 연습문제
- 백준
- 해답
- 쉽게 배우는 자바 프로그래밍
- BFS
- JS
- py
- 파이썬
- 답
- Python
- 정렬
- 정답
- java
- 운영체제
- Web
- 정리
- 자바
- OS
- 그리디
- 프로그래머스
- 풀이
- 쉽게배우는자바프로그래밍
- 구현
- 알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |