일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리뷰
- kakao
- Movie
- 나는솔로
- BFS
- benefits
- parametric search
- 수능
- Greedy
- coding
- silver
- 완전탐색
- 코딩 테스트
- usaco
- Recursive
- 추천
- 카카오
- Algorithm
- 영어
- array
- 백준
- review
- 영화
- 해설
- 알고리즘
- Netflix
- 2020
- 넷플릭스
- health
- BOJ
- Today
- Total
목록코딩 테스트 (16)
Young
https://www.acmicpc.net/problem/17252 17252번: 삼삼한 수 첫째 줄에 2,147,483,647보다 작거나 같은 음이 아닌 정수 N이 입력된다. www.acmicpc.net 이 문제는 풀 수 있는 방법이 크게 두 가지가 있습니다. 1. 수학적 풀이 2. 완전탐색 수학적 풀이는 다음에 소개하기로 하고, 이번에는 완전탐색으로 푸는 방법을 소개하겠습니다. 아무래도 코딩 테스트에서 완전탐색이 자주 나오기 때문이죠. 약 3^21 정도면 2,147,483,647 을 넘어서게 됩니다. 그러므로 3^0부터 3^21 까지 1번 또는 0번 사용해서 만들 수 있는가를 알아내기 위한 완전탐색을 수행하면 시간복잡도는 O(2^N) 으로 최대 2^21 = 약1000000 으로 시간안에 충분히 가능합..
https://www.acmicpc.net/problem/17255 17255번: N으로 만들기 음이 아닌 정수 N이 주어진다. (0 ≤ N ≤ 10,000,000) www.acmicpc.net 최대 8자리 숫자가 들어옵니다. 들어오는 숫자가 작아서 완전탐색으로 충분히 가능합니다. 시간복잡도는 O(N * 2^N) 입니다. 완전탐색은 BFS, DFS 아무거나 사용해도 됩니다. 이 코드에서는 DFS로 풀었습니다. 경로가 같은 것은 같은 경우의 수로 가정하는데, 이를 걸러내는 방법이 여러가지 있지만 각 경로를 string으로 이어 붙여서 마지막에 set 자료구조를 사용해서 걸러내면 됩니다. 예를 들어서 123이 들어온다면, 1 -> 12 -> 123 경로를 이어붙이면 112123 이 되고, 이를 set에 in..
https://www.acmicpc.net/problem/17825 17825번: 주사위 윷놀이 첫째 줄에 주사위에서 나올 수 10개가 순서대로 주어진다. www.acmicpc.net 2019년 하반기 삼성 기출문제입니다. 이 문제에서 가장 어려운 점은 바로 '디자인'입니다. 도대체 이 윷놀이 판을 어떻게 디자인해야 하는가...? 처음 해본다면 굉장히 난해합니다. 1. 정사각 배열을 만들어 똑같이 그린다. 2. 원을 하나의 노드라고 생각하고, 그래프로 생각하여 디자인한다. 아무래도 directed graph로 생각하고 디자인하는게 훨씬 쉬워 보입니다. 다만, 파란색 노드에서 시작할 때, 다른 방향으로 가게끔 해주는 코드를 작성해주면 됩니다. 노드 갯수가 총 33개 정도(?) 되는 것 같네요. 뭐 이정도면..
https://www.acmicpc.net/problem/17836 17836번: 공주님을 구해라! 용사는 마왕이 숨겨놓은 공주님을 구하기 위해 (N, M) 크기의 성 입구 (1,1)으로 들어왔다. 마왕은 용사가 공주를 찾지 못하도록 성의 여러 군데 마법 벽을 세워놓았다. 용사는 현재의 가지고 있는 무기로는 마법 벽을 통과할 수 없으며, 마법 벽을 피해 (N, M) 위치에 있는 공주님을 구출해야만 한다. 마왕은 용사가 괴롭히기 위해 공주에게 저주를 걸었다. 저주에 걸린 공주는 T시간 이내로 용사를 만나지 못한다면 영원히 돌로 변하게 된다. 공주님을 구출 www.acmicpc.net 딱 두가지 경우만 생각해보면 된다. 1. 전설의 명검없이 바로 공주가 있는 곳으로 간다. 2. 전설의 명검이 있는 곳으로 간..
https://www.acmicpc.net/problem/5568 5568번: 카드 놓기 문제 상근이는 카드 n(4 ≤ n ≤ 10)장을 바닥에 나란히 놓고 놀고있다. 각 카드에는 1이상 99이하의 정수가 적혀져 있다. 상근이는 이 카드 중에서 k(2 ≤ k ≤ 4)장을 선택하고, 가로로 나란히 정수를 만들기로 했다. 상근이가 만들 수 있는 정수는 모두 몇 가지일까? 예를 들어, 카드가 5장 있고, 카드에 쓰여 있는 수가 1, 2, 3, 13, 21라고 하자. 여기서 3장을 선택해서 정수를 만들려고 한다. 2, 1, 13을 순서대로 나열하면 www.acmicpc.net 전형적인 조합론 문제입니다. n개 중에서 k개를 뽑는 함수를 만들고, next_permutaion 함수를 사용해 순열을 구합니다. 이때 ..
https://www.acmicpc.net/problem/10655 10655번: 마라톤 1 문제 농장에 있는 젖소들이 건강하지 못하다고 생각한 농부 존은 젖소들을 위한 마라톤 대회를 열었고, 농부 존의 총애를 받는 젖소 박승원 역시 이 대회에 참가할 예정이다. 마라톤 코스는 N (3 ≤ N ≤ 100000) 개의 체크포인트로 구성되어 있으며, 1번 체크포인트에서 시작해서 모든 체크 포인트를 순서대로 방문한 후 N번 체크포인트에서 끝나야지 마라톤이 끝난다. 게으른 젖소 박승원은 막상 대회에 참가하려 하니 귀찮아져서 중간에 있는 체크포인트 한개를 www.acmicpc.net 그리 어렵지 않습니다. 하지만 O(N^2) 알고리즘은 절대 통하지 않습니다. 효율성을 위해서 우선 전체 길이를 구해놓고 시작하면 O(..
https://www.acmicpc.net/problem/17827 17827번: 달팽이 리스트 첫째 줄에 노드의 개수 N(2 ≤ N ≤ 200,000), 질문의 횟수 M(1 ≤ M ≤ 200,000), N번 노드가 가리키는 노드의 번호 V(2 ≤ V ≤ N)가 공백으로 구분되어 주어진다. 둘째 줄에 N개의 정수 C1, C2, …, CN이 공백으로 구분되어 주어진다. 이때 Ci는 i번 노드에 저장된 값을 뜻한다. (1 ≤ Ci ≤ 1,000,000) 셋째 줄부터 M개의 줄에 걸쳐 각 질문에 해당하는 K(1 ≤ K ≤ 109)가 주어진다. www.acmicpc.net 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 ..
https://www.acmicpc.net/problem/16927 16927번: 배열 돌리기 2 크기가 N×M인 배열이 있을 때, 배열을 돌려보려고 한다. 배열은 다음과 같이 반시계 방향으로 돌려야 한다. A[1][1] ← A[1][2] ← A[1][3] ← A[1][4] ← A[1][5] ↓ ↑ A[2][1] A[2][2] ← A[2][3] ← A[2][4] A[2][5] ↓ ↓ ↑ ↑ A[3][1] A[3][2] → A[3][3] → A[3][4] A[3][5] ↓ ↑ A[4][1] → A[4][2] → A[4][3] → A[4][4] → A[4 www.acmicpc.net 그냥 구현 문제입니다. 주어지는 R 값이 매우 큰데 이대로 한 칸씩 돌리면서 돌면 당연히 시간초과가 나겠죠. 배열의 고리의 길..