
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/1940 1940번: 주몽 첫째 줄에는 재료의 개수 N(1 ≤ N ≤ 15,000)이 주어진다. 그리고 두 번째 줄에는 갑옷을 만드는데 필요한 수 M(1 ≤ M ≤ 10,000,000) 주어진다. 그리고 마지막으로 셋째 줄에는 N개의 재료들이 가진 고 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 정렬 두 포인터 ⊙ 문제 접근 과정 포인터 하나의 값이 끝까지 가면 시작점 하나 올리고 다시 반복하게 했다. 반복 시 M값을 찾으면 cnt up ⊙ 문제 풀이 #include #include #include using namespace std; int N,M; vector v; int main() { cin >>..

https://www.acmicpc.net/problem/15565 15565번: 귀여운 라이언 꿀귀 라이언 인형과, 마찬가지로 꿀귀인 어피치 인형이 N개 일렬로 놓여 있다. 라이언 인형은 1, 어피치 인형은 2로 표현하자. 라이언 인형이 K개 이상 있는 가장 작은 연속된 인형들의 집합의 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 두 포인터 ⊙ 문제 접근 과정 문제를 보자마자 든 생각은 인덱스를 이용하면 편할 것 같았다. 그래서 인덱스 값을 이용하여 문제를 풀었다. 코드의 주석을 통해 설명을 달아놨다. ⊙ 문제 풀이 #include #include #include using namespace std; int N,K; vector v; int main() { ..

https://www.acmicpc.net/problem/3273 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 자료 구조 정렬 두 포인터 ⊙ 문제 접근 과정 투 포인터 문제다. start index 변수와 end index 변수를 만들어주고 index 값을 올리고 줄이면서 result 값을 찾아주면 된다. n값 입력받고 vector에 n의 개수만큼 값 넣기 찾아야 할 x값 입력받기 vecto..

https://www.acmicpc.net/problem/1644 1644번: 소수의 연속합 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 4,000,000) www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 수학 정수론 두 포인터 소수 판정 에라토스테네스의 체 ⊙ 문제 접근 과정 에라토스테네스의 체 알고리즘으로 소수로 이루어진 리스트를 먼저 만들어준다. 투 포인터 알고리즘으로 값을 찾아준다. n 입력 에라토스테네스의 체 알고리즘으로 prime_num이라는 소수로 이루어진 리스트 생성 값을 찾기 위해 반복문을 돌려준다. (투 포인터 알고리즘) 값이 같으면 count up 작으면 end 증가 크면 start 증가 ⊙ 문제 풀이 n = int(input()) is_..

https://www.acmicpc.net/problem/1806 1806번: 부분합 첫째 줄에 N (10 ≤ N < 100,000)과 S (0 < S ≤ 100,000,000)가 주어진다. 둘째 줄에는 수열이 주어진다. 수열의 각 원소는 공백으로 구분되어져 있으며, 10,000이하의 자연수이다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 두 포인터 ⊙ 문제 접근 과정 투 포인터 알고리즘으로 풀었다. start, end는 배열 a의 index를 나타낸다. len의 초기값은 N의 최대값인 100,000보다 더 큰 100,001로 설정하고 min과 계속 비교해주어 갱신해주었다. 만약 그러한 합이 불가능하면 len의 값은 100,001이므로 마지막에 len의 값이..

https://www.acmicpc.net/problem/2003 2003번: 수들의 합 2 첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 두 포인터 ⊙ 문제 접근 과정 첫번째 풀이 [ 시간 복잡도 : O(N^2) ] 이중 for문을 통해 문제를 풀었다. 시간 복잡도 O(N^2)이지만 수의 범위(1 n >> m; int a[n+1]; for(int i=0;i> a[i]; } for(int i=0;i> m; int a[n+1]; for..

https://www.acmicpc.net/problem/11728 11728번: 배열 합치기 첫째 줄에 배열 A의 크기 N, 배열 B의 크기 M이 주어진다. (1 ≤ N, M ≤ 1,000,000) 둘째 줄에는 배열 A의 내용이, 셋째 줄에는 배열 B의 내용이 주어진다. 배열에 들어있는 수는 절댓값이 109보다 작거 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 정렬 두 포인터 ⊙ 문제 접근 과정 문제에서 KeyPoint를 찾았는가? KeyPoint: 정렬되어 있는 정렬이 이미 되어있다. 그렇다면 인덱스만을 이용하여 문제를 풀 수 있지 않을까? 처음에는 "정렬되어 있는"을 무시하고 문제를 풀었는데 시간 초과가 떴다. #include #include #inclu..
- Total
- Today
- Yesterday
- 정답
- JS
- 해답
- 알고리즘
- 문자열
- Python
- 구현
- 쉽게배우는자바프로그래밍
- 정렬
- 정리
- 프로그래머스
- 쉽게 배우는 자바 프로그래밍
- 자바스크립트
- 답
- py
- 백준
- OS
- Web
- 운영체제
- 자바
- 연습문제
- CPP
- C++
- BFS
- 풀이
- java
- 파이썬
- 그리디
- 쉽게배우는
- 우종정
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |