https://www.acmicpc.net/problem/11725 11725번: 트리의 부모 찾기 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. www.acmicpc.net C++ 트리 트리의 정석 부모 자식 관계가 안알려진 간선 만 주어지고 각 노드의 부모를 출력하는 문제 접근방법 트리의 정석으로 풀이했다. vector로 인접리스트 사용했고 무방향그래프로 정의했고 루트노드인 1번 노드부터 BFS탐색하면서 자식 노드의 부모노드 정보를 parents배열에 저장했다. 오답노트 visit배열을 메인함수에서 선언해줘서 초기화를 안해줬다. 그랬더니 값이 true인 경우가 있었나보다. 전역변수로 빼줬더니 해결 소스코드 #include #in..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
https://www.acmicpc.net/problem/9658 9658번: 돌 게임 4 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. www.acmicpc.net C++ 게임이론 돌게임 3와 같은 듯 다른 문제 다른 부분은 바로 이번엔 마지막에 돌을 가져가는 사람이 지게 된다는 것 이것도 똑같이 1,3,4개씩 가져갈 수 있기 때문에 돌 개수에 따라 7묶음으로 나뉜다. 소스코드 #include using namespace std; int main(){ //input int N; cin >> N; //process & output if ( N % 7 == 1 || N % 7 == 3){ cout
https://www.acmicpc.net/problem/9657 9657번: 돌 게임 3 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. www.acmicpc.net C++ 게임이론 접근방법 이번엔 1,3,4개 가져갈수있다고 함 근데 이번거는 N이 1000까지인걸보면 아마 DP로 푸는걸 의도한 것 같다. 하지만 규칙을 찾음 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 & output if ( N % 7 == 2 || N % 7 == 0){ cout
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/11437 11437번: LCA 첫째 줄에 노드의 개수 N이 주어지고, 다음 N-1개 줄에는 트리 상에서 연결된 두 정점이 주어진다. 그 다음 줄에는 가장 가까운 공통 조상을 알고싶은 쌍의 개수 M이 주어지고, 다음 M개 줄에는 정 www.acmicpc.net C++ BFS 그래프에서 최소 공통 조상 찾는 문제이다. LCA 알고리즘은 기본틀이 있는 것 같아서 로직 힌트를 얻고 풀기 시작했다. 공책에 미리 로직 정리하고 코드 쓰면 좋은 점 : 정신적 스트레스가 적음 (?) 접근방법 필요한 자료구조 - 그래프 연결정보를 담고 있는 인접 리스트 - 노드 방문 정보를 담고 있는 배열 - bfs 큐 - 노드의 부모노드 정보를 담고있는 배열 - 노드의 깊이를..
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 C++ 투포인터 합이 X인 두 수의 개수를 구하는 문제 접근방법 우선 오름차순 정렬 두 포인터를 양끝에 두고 시작하여 두 수의 합이 X보다 크면 끝점을 한 칸 앞으로 X보다 작으면 시작점을 한 칸 뒤로 X이면 cnt를 1 증가시키고 시작점은 한칸 뒤로 끝점은 한칸 앞으로 오답노트 처음엔 두개의 포인터를 0,1번째에 두고 시작해서 무한루프에 빠..
- Total
- Today
- Yesterday
- 프로그래머스
- Swift
- 알고리즘
- 동적계획법
- 투포인터
- dfs
- 파이썬
- 백준
- 브루트포스
- 정렬
- 스택
- 트리
- 가장 큰 수 프로그래머스
- 최소힙
- 수학
- 그리디알고리즘
- 가장 큰 수 Swift
- 웹크롤링
- 백트래킹
- c++
- 토마토
- 다이나믹프로그래밍
- 게임이론
- 우선순위큐
- BFS
- 최대힙
- 자바
- 최단경로
- dp
- 이분탐색
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |