일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 그리디
- 위상정렬
- 완전탐색
- 알고리즘
- 동적계획법
- 프로그래머스
- swea
- 후니의 쉽게 쓴 시스코 네트워킹
- JUnit 5
- Kotlin
- BFS
- 시뮬레이션
- CS
- Network
- 수학
- 백트래킹
- Effective Java
- dfs
- 투 포인터
- 이분탐색
- 문자열
- 플로이드-와샬
- mst
- 세그먼트 트리
- java
- 백준
- 구현
- 유니온 파인드
- 에라토스테네스의 체
- 스택
목록구현 (108)
반갑습니다!
17822번: 원판 돌리기 www.acmicpc.net 풀이 시뮬레이션 문제라 문제에 나와있는데로 구현하면 해결할 수 있다. 크게 3가지 부분으로 나눠진다. 원판 돌리기 인접한 숫자 제거하기 제거할 숫자가 없으면 평균값과 비교하여 숫자 변경 각 부분별로 설명하겠다. 우선 원판을 돌리기에 앞서 원판을 데이터로 표현해야하는데 2차원 배열 c[i][j]를 이용하여 표현하였다. 가장 안쪽 원판부터 바깥쪽 원판 순서로 i값이 증가하고 각 원판은 12시 방향을 기준으로 시계방향으로 갈수록 j값이 증가하도록 표현하였다. 이제 원판을 회전시켜볼 차례이다. 원판은 시계방향, 반시계방향 모두 회전할 수 있다. deque는 앞, 뒤로 push하고 pop 할 수 있으므로 deque를 사용하여 구현하였다. deque에 한 원판..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문제의 조건만 잘 유의하면 어렵지않게 풀 수 있다. Set을 사용하여 경로의 중복을 체크하였는다. 그런데 이 문제는 범위가 워낙 작아서 굳이 Set을 사용하지 않고 배열로도 해결할 수 있을 것으로 보인다. 코드 #include #include using namespace std; bool inRange(int x, int y) { return (-5
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 Queue를 이용하여 2개씩 짝지어 최소공배수를 구하고, 다시 큐에 넣는 것을 반복하였다. 코드 #include #include #include using namespace std; int gcd(int a, int b) { if (b == 0) return a; return gcd(b, a % b); } int solution(vector arr) { int answer = 0; queue q; for (int i : arr) q.push(i); while (q.size() > 1) { int a = ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 주어진 좌표를 이용해서 트리를 만든 뒤 전위순회, 후휘순회를 통해 답을 출력하는 문제이다. 문제의 핵심은 트리를 생성하는 것인데 y값을 기준으로 내림차순으로 정렬하는데 같은 y값을 가진 점들은 x값을 기준으로 오름차순하여 정렬하면 root노드부터 root의 왼쪽 자식노드, root의 오른쪽 자식 노드 ... 순서로 정렬된다. 노드들을 정렬하고나면 x값을 기준으로 실제 트리를 만들어주면 된다. 코드 #include #include #include using namespace std; vector pre, ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 모든 경우를 다 확인해보는 완전 탐색으로 해결하였다. 코드 #include #include using namespace std; long long solution(long long n) { long long answer = 0; for (long long i = 1; i * i