PS 연습

· PS 연습
👩🏻‍💻 문제링크 https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net ✍️ 아이디어 1. 문제 이해 탐색이 진행되는 횟수를 기록 해야 함 처음에 while로 구현 하려다가 시간초과남 2. 무조건 dfs/bfs 문제는 방문일지를 만들자 ( 안만들고는 자꾸 에러가 난다 ) ✍️소스코드 #include #include #include using namespace std; int graph[1..
· PS 연습
👩🏻‍💻 문제링크 https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net ✍️ 아이디어 1. 문제 이해 처음에 연결리스트로 접근 하려고 했다가 너무 복잡해서 dfs 까지만 구현하고 멈춤 배열로 구현 해서 답이 나왔으나 왠지 모르게 틀림 (왜맞틀?) 2. 내가 생각 못한것은 방문했는지 안했는지 방문일지를 따로 만드는것을 생각하지 못했다!! -> 난 결과값 저장공간을 따로 만듬 3. fill_n(visited, 100..
· PS 연습
어느정도 규칙은 찾았지만 함수를 2개 선언해야하는것, 전역변수에 2차원 배열을 선언하는것을 생각해 내지 못했다 👩🏻‍💻 문제링크 https://www.acmicpc.net/problem/10994 10994번: 별 찍기 - 19 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. www.acmicpc.net ✍️ 아이디어 1. 문제 이해 우선 안에 있는 별 모음을 둘러싸는 별 모음을 만들어야한다 2. 이전 별 모음의 바깥쪽을 둘러쌓는 새로운 별모음을 만드는것이 재귀적이다 3. 다음번 별 모음을 생성할려면 인덱스가 +2, +2 씩 더해진다 ✍️소스코드 다른 사람의 코드를 어느정도 보고 내 방식대로 구현해 본것 #include using namespace std; char arr[400][400]; void..
· PS 연습
👩🏻‍💻 문제링크 https://www.acmicpc.net/problem/11651 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net ✍️ 아이디어 1. 문제 이해 y좌표를 중가하는 순으로가 1순위 y좌표 같으면 x좌표 증가하는 순으로 ✍️소스코드 #include #include #include using namespace std; bool cmp(pair a,pair b) //!!! { if(a.secondN; vector v; for(int i=0; ..
· PS 연습
👩🏻‍💻 문제링크 https://www.acmicpc.net/problem/2075 2075번: N번째 큰 수 첫째 줄에 N(1 ≤ N ≤ 1,500)이 주어진다. 다음 N개의 줄에는 각 줄마다 N개의 수가 주어진다. 표에 적힌 수는 -10억보다 크거나 같고, 10억보다 작거나 같은 정수이다. www.acmicpc.net ✍️ 아이디어 1. 문제 이해 결국엔 숫자 나열해서 N번째 숫자 구해라는거임 2. 시간 제한이 1s이므로 n2 까지의 연산이 가능하다, 메모리 제한이 12mb 이므로 1500*1500*4byte의 값을 다 저장 못하므로 5개 자리 만들어서 입력 받을때 마다 최후의 5인이 결정된다 ✍️소스코드 #include #include using namespace std; int main() { c..
· PS 연습
더러워서 화났던 정렬 문제 👩🏻‍💻 문제링크 [백준 2108] 더하기 사이클 (cpp) https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net ✍️ 아이디어 1. 문제 이해 산술평균에서 주의할점 -0이 안나오게 해야함 최빈값 구하기 쉽지 않을것이다 2. 최빈값 구하기 값을 입력 받으면서 그 값에 해당하는 인덱스가 +1 되어 나중에 모든 숫자의 갯수를 찾음 ✍️소스코드 불통과 #include #include #include #include using namespace..
· PS 연습
덱을 사용하는 문제임 잘못풀었는데 답은 나와서 왜 틀렸나 계속 고민했었음 내 풀이(망한 코드) #include #include using namespace std; int main() { deque dq; int N; cin>>N; int move; int in_ballon[1001]; int idx; for(int i=1; i>in_ballon[i]; //3 2 1 -3 -1 } while(!dq.empty()) { int move; idx=dq.front(); cout
· PS 연습
더보기 덱을 이용하는 문제 ☞ 내가 문제 이해를 잘못 해서 시간이 오래 걸림 내 풀이 3가지 상황이 있다 1. 주어진 숫자가 바로 맨 앞에 위치해 있었던 경우 2. 왼쪽으로 이동해야 하는 경우 3. 오른쪽으로 이동해야 하는 경우 #include #include using namespace std; int main() { deque dq; int N; cin>>N; int M; cin>>M; int num; int result=0; for(int i=1; i>num; if(dq.front()==num)// { dq.pop_front(); continue; } int left; int right; for(int i=0; ileft)//left로 가야하는 상황 { for(int i=0; i
생선묵김치찌개
'PS 연습' 카테고리의 글 목록 (4 Page)