목록BOJ (339)
어흥
문제 링크: https://www.acmicpc.net/problem/17780 17780번: 새로운 게임 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행되고, 사용하는 말의 개수는 K개이다. 말은 원판모양이고, 하� www.acmicpc.net 새로운 게임 2 풀이: https://imnotabear.tistory.com/214 [백준 17837] 새로운 게임 2 (C++) 문제 링크: https://www.acmicpc.net/problem/17837 17837번: 새로운 게임 2 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행 imnotab..
문제 링크: https://www.acmicpc.net/problem/15681 15681번: 트리와 쿼리 트리의 정점의 수 N과 루트의 번호 R, 쿼리의 수 Q가 주어진다. (2 ≤ N ≤ 105, 1 ≤ R ≤ N, 1 ≤ Q ≤ 105) 이어 N-1줄에 걸쳐, U V의 형태로 트리에 속한 간선의 정보가 주어진다. (1 ≤ U, V ≤ N, U ≠ V) �� www.acmicpc.net 1. 주의할 점 - DFS +DP를 이용하여 메모아이징을 사용해야 한다 2. 구현 - 모든 간선들의 정보를 V[] 배열에 담는다 - 입력 받은 Root를 기준으로 DFS()를 수행하며 메모아이징을 이용해서 해결한다. 또한, Visit[] 배열을 사용하여 해당 Node의 부모를 세지 않도록 한다 #include #inc..
문제 링크: https://www.acmicpc.net/problem/6416 6416번: 트리인가? 문제 트리는 굉장히 잘 알려진 자료 구조이다. 트리를 만족하는 자료 구조는 비어 있거나(노드의 개수가 0개), 노드의 개수가 1개 이상이고 방향 간선이 존재하며 다음과 같은 조건을 만족해야 �� www.acmicpc.net 1. 주의할 점 - 매 TC마다 Case를 1씩 증가시킨다 - 매 TC마다 벡터와 배열들을 초기화한다 - Root가 2개 이상 있는지, 없는지, 부모가 2개 이상인지, Root에서 모든 Node까지 도달 가능하지 전부 확인한다 - 0 0 또한 빈 트리로, 트리라고 출력해야 한다 2. 구현 - 입력받는 모든 Node들을 Set에 넣으며, 간선의 정보는 V[부모]에 자식에 대한 정보를 넣..
문제 링크: https://www.acmicpc.net/problem/5639 5639번: 이진 검색 트리 문제 이진 검색 트리는 다음과 같은 세 가지 조건을 만족하는 이진 트리이다. 노드의 왼쪽 서브트리에 있는 모든 노드의 키는 노드의 키보다 작다. 노드의 오른쪽 서브트리에 있는 모든 노드의 � www.acmicpc.net 1. 주의할 점 - EOF를 입력받을 때 까지 수를 받기 위해 While(cin>>val) 을 사용한다. While(!cin.eof()) 사용하면 오답으로 뜬다 2. 구현 - Insert() 함수를 통해 현재 Node가 NULL이라면 새로 Node를 만든 후, 추가하고 NULL이 아니라면 현재 Node의 Data값과 비교하여 작다면 Node->left로, Node->right로 이동..
문제 링크: https://www.acmicpc.net/problem/3671 3671번: 산업 스파이의 편지 문제 안녕하세요. 저는 산업 스파이입니다. 저의 정체를 절대 다른 사람에게 말하지 말아주세요. 저의 가장 최근 일은 유명한 수학 연구소의 최신 연구 결과를 훔쳐오는 것이었습니다. 저는 매�� www.acmicpc.net 1. 주의할 점 - 소수인 수를 미리 구해놓는다 - 매 TC마다 벡터들을 초기화한다 2. 구현 - 에라토스테네스의 체를 이용하여 소수면 Num[] 배열 자기자신을 입력한다 - 1~입력받은 수의 자리수 까지 DFS를 수행하며 구한 수가 소수라면 Set에 넣는다 #define MAX 10000000 #include #include #include #include #include #i..
문제 링크: https://www.acmicpc.net/problem/3967 3967번: 매직 스타 문제 매직 스타는 1부터 12까지 숫자가 헥사그램(hexagram)에 채워져 있는 모양으로 이루어져 있다. 매직 스타의 이름에 매직이 들어가는 이유는 숫자 네 개로 이루어진 줄의 숫자를 모두 합하면 26� www.acmicpc.net 1. 주의할 점 - 마지막에 모든 경로의 합을 구하면 TLE 발생한다. 특정 지점마다 검사해줘야 한다 2. 구현 - Check[] 배열을 전부 -1로 초기화한다 - Check[] 배열을 통해 해당 번호가 현재 사용중이라고 표시한다 - Test[][] 배열을 통해 어떤 경로에 위치한 숫자를 계산해야 하는지 표시한다 - DFS()를 수행하며 Idx가 5,8,11,12일때 특정 ..
문제 링크: https://www.acmicpc.net/problem/1342 1342번: 행운의 문자열 민식이와 준영이는 자기 방에서 문자열을 공부하고 있다. 민식이가 말하길 인접해 있는 모든 문자가 같지 않은 문자열을 행운의 문자열이라고 한다고 한다. 준영이는 문자열 S를 분석하기 시작� www.acmicpc.net 1. 주의할 점 - 문자열을 V벡터에 입력받고, Next_Permutation을 하기 전에 Sort를 수행한다 2. 구현 - Next_Permutation을 수행하기 전에 반드시 Sort를 수행한다. 입력받는 문자열이 순서대로 들어오지 않기 때문이다(이해가 되지 않는다면 1234와 4321을 출력해보면 안다. 이때의 정답은 24가 올바르다) - Next_Permutation을 수행하면서 ..
문제 링크: https://www.acmicpc.net/problem/2002 2002번: 추월 문제 대한민국을 비롯한 대부분의 나라에서는 터널 내에서의 차선 변경을 법률로 금하고 있다. 조금만 관찰력이 있는 학생이라면 터널 내부에서는 차선이 파선이 아닌 실선으로 되어 있다는 것 www.acmicpc.net 1. 주의할 점 - 각 차량이(문자열) 몇 번째로 터널에 들어갔는지 저장하기 위해 Map(String, Int)을 사용한다 2. 구현 - 들어간 차량을 Map에 저장하고, 나온 차량의 번호를 Map에서 찾아서 Fin[] 배열에 순서대로 넣는다 - 들어간 차량의 순서와 나온 차량의 순서를 비교하여 현재 차량보다 터널에 늦게 들어갔는데 현재 차량보다 터널에서 더 일찍 나온 경우, Pass++한다 #inc..