https://www.acmicpc.net/problem/15926 15926번: 현욱은 괄호왕이야!! 첫 번째 입출력에서, 맨 처음 위치부터 4개를 잘라낸 (())가 가장 긴 올바른 괄호 문자열이다. 두 번째 입출력에서, 6번째 위치부터 8개를 잘라낸 ()((()))가 가장 긴 올바른 괄호 문자열이다. www.acmicpc.net 문제풀이 올바른 괄호의 인덱스를 저장하는 배열의 카운트 값 구하기 코드 #include using namespace std; int n, ret, cnt, a[200001]; stack stk; string s; int main(){ cin >> n >> s; for(int i=0;i
https://www.acmicpc.net/problem/15353 15353번: 큰 수 A+B (2) C++17, C11, C99, C++98, C++11, C++14, C99 (Clang), C++98 (Clang), C++11 (Clang), C++14 (Clang), C11 (Clang), C++17 (Clang) www.acmicpc.net 문제풀이 long long 보다 큰 수가 들어오므로 string 이용 작은 자릿수부터 계산해서 string에 붙이고 계산 끝나면 뒤집기 코드 #include using namespace std; string a, b, ret; int sum =0; int main(){ cin >> a >> b; while(a.size() || b.size()||sum){ i..
https://www.acmicpc.net/problem/14405 14405번: 피카츄 피카츄는 "pi", "ka", "chu"를 발음할 수 있다. 따라서, 피카츄는 이 세 음절을 합친 단어만 발음할 수 있다. 예를 들면, "pikapi"와 "pikachu"가 있다. 문자열 S가 주어졌을 때, 피카츄가 발음할 수 있는 문 www.acmicpc.net 문제풀이 pi, ka, chu 확인하며 다른 문자열 있으면 flag 변환 코드 #include using namespace std; string s, j; bool flag = true; int main(){ cin >> s; for(int i=0;i
https://www.acmicpc.net/problem/1068 1068번: 트리 첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다 www.acmicpc.net 풀이 1. 이중 리스트에 자식 노드 넣기 2. 루트 노드에서 시작해 리프 노드 세기 3. DFS 순회하며 다음 순회할 노드가 잘린 노드면 건너뛰기 코드 public class Pro1068 { static List a = new ArrayList(); public static void main(String[] args) throws IOException { BufferedReader bf =..
https://www.acmicpc.net/problem/2910 2910번: 빈도 정렬 첫째 줄에 메시지의 길이 N과 C가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ C ≤ 1,000,000,000) 둘째 줄에 메시지 수열이 주어진다. www.acmicpc.net 정렬 기준 1. 나온 횟수 > HashMap 2. 나온 횟수가 같다면 먼저 나온 순 > LinkedHashMap, 먼저 등장 순서 보장 코드 public class Main { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub BufferedReader bf = new BufferedReader(new InputStrea..