https://www.acmicpc.net/problem/1620 1620번: 나는야 포켓몬 마스터 이다솜 첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면 www.acmicpc.net 제목부터 킹받는 문제다 지하철에서 문제를 열심히 읽었는데 본문 전체가 문제 푸는데에는 영향을 주지 않는 빌드업이었다 ^_^ 문제를 읽기 전에 이 블로그를 먼저 보는 사람은 없겠지만 혹시 운 좋은 어떤 사람이 문제도 보기 전에 이 블로그를 먼저 봤다면 문제 설명 부분에서 오박사 : 그럼 다솜아 이제 진정한 포켓몬 마스터가 되기 위해 도감을 완성시키도록 하여라. 일단 네가..

https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net C++ 구현, 브루트포스 사진에 보이는 5개의 테트로미노를 회전, 대칭 시켜서 점수가 적혀있는 판에 놓았을 때 테트로미노가 놓여진 칸들의 점수의 합의 최대값을 구하는 문제이다. 접근방법 브루트포스로 풀었다. 나올 수 있는 모든 도형의 모양을 구하고 (0,0) 기준으로 좌표를 구한다음 모든 도형에 대해 일일이 어디에 두면 가장 큰 값이 나오고, 그 중에 어떤 도형이 가장 큰 값을 내는지 찾았다. 도..

https://www.acmicpc.net/problem/9660 9660번: 돌 게임 6 첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1,000,000,000,000) www.acmicpc.net C++ 게임이론 돌게임 3에서 N의 범위만 (1 ≤ N ≤ 1,000,000,000,000) 이렇게 커진 문제 돌게임3를 DP로 풀고 돌게임6를 규칙을 찾아푸는걸 의도한것 같지만 돌게임3를 이미 규칙을 찾아 풀어서 이것도 똑같이 풀었다. 1 -> SK 2 -> CY 3 -> SK 4 -> SK 5 -> SK 6 -> SK 7 -> CY 이 반복됨 소스코드 #include using namespace std; int main(){ //input long long N; cin >> N; //process & out..

https://www.acmicpc.net/problem/2467 2467번: 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하의 정수이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 오름차순으로 입력되며, 이 수들은 모두 - www.acmicpc.net C++ 투포인터 산성도가 오름차순으로 정렬된 배열에서 두 용액의 산성도를 합했을때 가장 0에 가까운 두 용액을 찾는 문제 2470번 문제와 아주 유사하지만 정렬된 배열이라는 점이 다르다. 접근방법 양 끝 점에서 시작하여 두 수의 합이 0보다 크면 현재 값보다 더 작아져야 하므로 end 점을 1감소시키고 두 수의 합이 0보다 작으면 현재 값보다 더 커져야 하므로 start점을 1증가시킨다. 소..

https://www.acmicpc.net/problem/1068 1068번: 트리 첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다 www.acmicpc.net C++ 트리 트리에서 어느 한 노드를 루트노드로하는 서브트리를 모두 삭제할때 리프노드 개수를 구하는 문제 접근방법 벡터로 인접리스트를 구현하고, 부모노드 정보를 담고 있는 1차원 배열을 생성한다. 인접리스트를 탐색하면서 기존 트리에서의 리프노드 개수를 카운팅한다. 지울 노드를 큐에 넣고 그 하위의 노드들도 큐에 넣어 삭제해주면서 지우는 노드가 리프노드인 경우 기존 리프노드 개수 - 1 한다...

https://www.acmicpc.net/problem/5639 5639번: 이진 검색 트리 트리를 전위 순회한 결과가 주어진다. 노드에 들어있는 키의 값은 106보다 작은 양의 정수이다. 모든 값은 한 줄에 하나씩 주어지며, 노드의 수는 10,000개 이하이다. 같은 키를 가지는 노드는 없다 www.acmicpc.net C++ 트리 트리를 전위순회한 결과를 입력받아 동일한 트리를 후위순회한 결과를 출력하는 문제 접근방법 1. 원래의 트리를 재현하여 후위순회를 구하는 방법 2. 전위순회에서 바로 후위순회를 구하는 방법 중에 2번을 선택했다. 전위순회한 결과가 50 30 24 5 28 45 98 52 60 이거라면 여기서 50 | 30 24 5 28 45 | 98 52 60 이렇게 부모노드 | 왼쪽 서브..

https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1≤N≤26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 영문자 www.acmicpc.net C++ 트리 기본 Of 기본 트리 문제 이 문제는 트리의 세가지 순회 방법 전위순회, 중위순회, 후위순회를 다룬 문제입니다. 접근방법 사용한 자료구조 : 배열 (노드의 왼쪽자식과 오른쪽자식 정보를 담고 있는 2차원 배열) 재귀를 사용하여 자식 노드 방문 근데 이거 왜 실버1씩이나 되는거지 소스코드 #include using namespace std; int adj[26][2]; void pr..

https://www.acmicpc.net/problem/9659 9659번: 돌 게임 5 첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1,000,000,000,000) www.acmicpc.net C++ 게임이론 재미있는 게임이긴 하다. 돌의 개수가 주어지는 순간 게임이 끝나버리는 그런 게임. 접근방법 짝수와 홀수의 합의 관계에 대해서 생각해보면 한줄이면 끝날 코드이다. 짝수는 짝수끼리의 합 혹은 홀수끼리의 합으로 이루어진다는 것만 알면된다. 실버2 박탈! 소스코드 #include using namespace std; int main(){ long long N; cin >> N; cout

https://www.acmicpc.net/problem/2470 2470번: 두 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,00 www.acmicpc.net C++ 투포인터 음수와 양수가 섞여있는 한 배열에서 두 원소의 합의 절댓값이 최소인 (0에 가까운) 두 원소를 찾는 문제 접근방법 처음엔 시간복잡도 때문에 정렬을 쓰면 안될 것 같았는데 퀵소트정렬을 쓰고 N번만 봐도 되면 통과되는 문제였다. 우선 오름차순 정렬 후 시작점과 끝점을 양 끝에 두고 시작한다. 두 원소의 합을 비교하면서 포인터를 이동하는건데 이때 두 원..

https://www.acmicpc.net/problem/2559 2559번: 수열 첫째 줄에는 두 개의 정수 N과 K가 한 개의 공백을 사이에 두고 순서대로 주어진다. 첫 번째 정수 N은 온도를 측정한 전체 날짜의 수이다. N은 2 이상 100,000 이하이다. 두 번째 정수 K는 합을 구하기 www.acmicpc.net C++ 투포인터 구간의 정해진 크기만큼의 합이 최대인 값을 구하는 문제 접근방법 구간이 정해져있어서 s와 e를 한번에 한칸씩 오른쪽으로 옮기면서 최대합을 갱신하면 된다. 처음에 시작할때 s = 0 , e = k-1 구간의 합을 구해서 sum의 초기값으로 대입한다. 그 후에 e가 n-1보다 작을때까지 반복문을 돌면서 최대합 갱신 while문을 나올때 e = n-1 이어야 배열의 마지막 ..
- Total
- Today
- Yesterday
- dp
- 가장 큰 수 Swift
- 이분탐색
- 자바
- 동적계획법
- 우선순위큐
- BFS
- 토마토
- 웹크롤링
- Swift
- 게임이론
- 다이나믹프로그래밍
- 가장 큰 수 프로그래머스
- 최대힙
- 백트래킹
- 수학
- 알고리즘
- 정렬
- 브루트포스
- 백준
- 트리
- 최소힙
- 프로그래머스
- 투포인터
- 그리디알고리즘
- 스택
- 파이썬
- 최단경로
- c++
- dfs
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |