본문 바로가기

전체 글131

[백준] 9012번 괄호 https://www.acmicpc.net/problem/9012 9012번: 괄호 문제 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것을 하나의 괄호에 넣은 새로운 문자열 “(x)”도 VPS 가 된다. 그리고 두 VPS x 와 y를 접합(conc www.acmicpc.net 예전에 후위표기법을 이용해서 수식을 입력받는 프로그램을 만들었던게 생각나서 금방풀은문제. 단순히 stack에 (를 쌓는다. )가 나왔을때 s.. 2019. 12. 21.
[C++] std::list 에서 std::advance / 백준 1406번 에디터 https://www.acmicpc.net/problem/1406 1406번: 에디터 문제 한 줄로 된 간단한 에디터를 구현하려고 한다. 이 편집기는 영어 소문자만을 기록할 수 있는 편집기로, 최대 600,000글자까지 입력할 수 있다. 이 편집기에는 '커서'라는 것이 있는데, 커서는 문장의 맨 앞(첫 번째 문자의 왼쪽), 문장의 맨 뒤(마지막 문자의 오른쪽), 또는 문장 중간 임의의 곳(모든 연속된 두 문자 사이)에 위치할 수 있다. 즉 길이가 L인 문자열이 현재 편집기에 입력되어 있으면, 커서가 위치할 수 있는 곳은 L+1가지 경우가 www.acmicpc.net 백준 1406번 에디터 문제를 풀면서 배열보단 삽입삭제가 O(1)인 리스트를 사용하는게 나을거같아 std::list를 사용했다. 그런데 시간.. 2019. 12. 21.
[백준] 1003번 피보나치함수 0이 출력되는갯수, 1이 출력되는갯수를 구해라. fibo(3) 의 경우 fibo(2) 와 fibo(1)로 나뉜다. fibo(2) 의 출력갯수와 fibo(1)의 출력갯수의 합만큼 출력한다. fibo(4) 또한 fibo(3)와 fibo(2)로 나뉘며 결국 fibo(3)의 출력갯수와 fibo(2)의 출력갯수의 합만큼 출력된다. 단순히 0에대한 피보나치 1에대한 피보나치만 구해주면 되는문제이다. 의외로 정답률이 낮다.. #include #include #include typedef long long big_int; void getfiboCount(big_int n, big_int& out0, big_int& out1){ if (n == 0){ out0 = 1; out1 = 0; }else if (n == 1){.. 2019. 12. 16.
[백준] 9663번 N-QUEEN 사고력을 키우는데 알고리즘이 좋대서 요즘 계속 풀어보고있는중에 이문제를 만났다. 10초라는 조건때문에 여유가생겨서 그런지 처음 N과 M시리즈를 만났을때보다 쉽게 풀었다. 처음에는 X좌표를 0,1,2,...,N으로 해서 이웃하지 않는 순열을 만들어 풀려고했는데, 생각외로 어려웠고 대각방향도 생각해줘야 된다는걸 깨달아 그냥 정공법으로 풀이방향을 바꿨다. 같은 행 같은 열에는 무조건 있으면 안되는 점에서 Y에대한 X좌표 vector를 만들고 X좌표에 대해서 루프를 돌면서 비어있는 부분이 나온다면, 재귀를 호출하는 방식으로 풀었다. #include #include #include void solve(int N, std::vector& visit, std::vector pointX, int y,int& cnt){.. 2019. 12. 16.