https://www.acmicpc.net/problem/12904 12904번: A와 B 수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 구현 문자열 그리디 알고리즘 ⊙ 문제 접근 과정 같다는 여부를 boolean을 사용해 판별해줬다. 문제를 보자마자 1로 만들기 문제가 생각났다 해당 문제를 보고 나는 S를 T로 만드는 방식이 아닌 T를 S로 만들어야 한다고 직감적으로 생각했다. 그리고 거꾸로 추적하여 T를 S로 만들어주는 코드를 만들..
https://www.acmicpc.net/problem/17609 17609번: 회문 각 문자열이 회문인지, 유사 회문인지, 둘 모두 해당되지 않는지를 판단하여 회문이면 0, 유사 회문이면 1, 둘 모두 아니면 2를 순서대로 한 줄에 하나씩 출력한다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 구현 문자열 그리디 알고리즘 두 포인터 ⊙ 문제 접근 과정 여러 체크포인트 변수를 생성하고 활용하여 회문인지 유사회문인지 그 외인지 검사했다. 회문일 경우 여러 체크포인트가 필요 없다. 유사회문 검사 경우에 복사본을 이용했는데 그때 여러 체크포인트가 필요했다. ⊙ 문제 풀이 #include using namespace std; int T,indx,check; stri..
https://www.acmicpc.net/problem/19939 19939번: 박 터뜨리기 $N$개의 공을 $K$개의 바구니에 문제의 규칙을 만족하면서 나눠 담을 수 있다면, 가장 많이 담긴 바구니와 가장 적게 담긴 바구니의 공의 개수 차이를 출력한다. 나눠 담을 수 없는 경우에는 -1을 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 수학 그리디 알고리즘 ⊙ 문제 접근 과정 변수 하나를 설정해 인덱스로 접근했다. 최대한 균등하게 값을 증가시키기 위해 뒤에서 앞으로 1씩 올려주었다. ⊙ 문제 풀이 #include using namespace std; int N, K, total=0; int arr[1001]={0,}; int main() { cin >> N >..
https://www.acmicpc.net/problem/14659 14659번: 한조서열정리하고옴ㅋㅋ 첫째 줄에 봉우리의 수 겸 활잡이의 수 N이 주어진다. (1 ≤ N ≤ 30,000) 둘째 줄에 N개 봉우리의 높이가 왼쪽 봉우리부터 순서대로 주어진다. (1 ≤ 높이 ≤ 100,000) 각각 봉우리의 높이는 중복 없이 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그리디 알고리즘 ⊙ 문제 접근 과정 자신보다 낮은 값만 잡을 수 있다. 간단하지만 주의해야 할 조건이 있다. 나보다 높은 값을 만나면 break를 해야한다는 것! ⊙ 문제 풀이 #include #include #include using namespace std; #define MAX 30001 in..
https://www.acmicpc.net/problem/2828 2828번: 사과 담기 게임 상근이는 오락실에서 바구니를 옮기는 오래된 게임을 한다. 스크린은 N칸으로 나누어져 있다. 스크린의 아래쪽에는 M칸을 차지하는 바구니가 있다. (M> N >> M >> J; int cnt=0; int start=1, end = M; while(J--) { int x; cin >> x; bool flag=true; while(flag) { if(start
https://www.acmicpc.net/problem/1758 1758번: 알바생 강호 첫째 줄에 스타박스 앞에 서 있는 사람의 수 N이 주어진다. N은 100,000보다 작은 자연수이다. 둘째 줄부터 총 N개의 줄에 각 사람이 주려고 하는 팁이 주어진다. 팁은 100,000보다 작거나 같은 자연수 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 구현 문자열 ⊙ 문제 접근 과정 그냥 돈 많이 주는 사람을 1등으로 보내고 조금 주는 사람 가차 없이 맨 뒤로 보내면 된다! ⊙ 문제 풀이 #include #include #include using namespace std; int N; vector v; int main() { cin >> N; for(int i=0;..
https://www.acmicpc.net/problem/2012 2012번: 등수 매기기 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 500,000) 둘째 줄부터 N개의 줄에 걸쳐 각 사람의 예상 등수가 순서대로 주어진다. 예상 등수는 500,000 이하의 자연수이다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그리디 알고리즘 정렬 ⊙ 문제 접근 과정 abs 절댓값 함수를 사용했다. 정렬 후 차례대로 빼주고 절댓값을 total 변수에 계속하여 더해주었다. ⊙ 문제 풀이 #include #include #include using namespace std; int N; vector v; int main() { cin >> N; for(int i=0;i> ..
www.acmicpc.net/problem/11501 11501번: 주식 입력의 첫 줄에는 테스트케이스 수를 나타내는 자연수 T가 주어진다. 각 테스트케이스 별로 첫 줄에는 날의 수를 나타내는 자연수 N(2 ≤ N ≤ 1,000,000)이 주어지고, 둘째 줄에는 날 별 주가를 나타 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그리디 알고리즘 ⊙ 문제 접근 과정 처음엔 순방향으로 풀어보려 했는데 생각보다 구현이 어려워서 날짜를 거꾸로하여 풀었다. ⊙ 문제 풀이 #include #include #include using namespace std; typedef long long ll; int T,N; int main() { cin >> T; while(T--) {..
https://www.acmicpc.net/problem/1343 1343번: 폴리오미노 첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그리디 알고리즘 ⊙ 문제 접근 과정 string으로 값을 입력받고 조건문으로 구현했다. 마지막에 만약 string에 X가 존재하면 -1 출력 존재하지 않는다면 string 출력 ⊙ 문제 풀이 #include using namespace std; int stack=0; string s; int main() { cin >> s; for(int i=0;i
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..
- Total
- Today
- Yesterday
- 정렬
- CPP
- 자바스크립트
- Web
- 연습문제
- 문자열
- 풀이
- java
- 백준
- 프로그래머스
- 정답
- 알고리즘
- BFS
- 해답
- JS
- 정리
- py
- Python
- 그리디
- 쉽게배우는
- C++
- 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 | 29 | 30 | 31 |