Algorithm 170

[백준 알고리즘/C++/스택] 9012 괄호

괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다 만일 x 가 VPS 라면 이것을 하나의 괄호에 넣은 새로운 문자열 “(x)”도 VPS 가 된다 예를 들어 “(())()”와 “((()))” 는 VPS 이지만 “(()(”, “(())()))” , 그리고 “(()” 는 모두 VPS 가 아닌 문자열이다 입력으로 주어진 괄호 문자열이 VPS 인지 아닌지를 판단해서 그 결과를 YES 와 NO 로 나타내는 문제 '( ' (방시혁..?) 이게 입력되면 스택에 저장 ' )' 이게 입력되면 스택에서 하나를 pop하면 된다 empty라 p..

Algorithm/BOJ 2021.04.24

[프로그래머스/C++] 수식 최대화

연산 수식이 담긴 문자열 expression이 매개변수로 주어질 때, 가장 큰 금액을 반환하는 문제 완전탐색으로 풀어야 하는 문제다 모든 경우를 계산해보고 max 값을 출력하면 된다 [C++][STL] next_permutation 함수 (+prev) [2020년 6월 29일 19시 01분 작성]​플밍 대회에서 자주 사용되는 함수 시리즈​(미래에 감을 잃은 '... blog.naver.com next_permutation을 사용해서 풀었음 순열의 모든 조합을 구할 수 있는 함수라고 한다 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 vector oper = { '*', '+', '-' }; vector num; vector operators; int val = 0; fo..

[프로그래머스/C++] 튜플

특정 튜플을 표현하는 집합이 담긴 문자열 s가 매개변수로 주어질 때, s가 표현하는 튜플을 배열에 담아 반환하는 문제 {{a1}, {a1, a2}, {a1, a2, a3}, {a1, a2, a3, a4}, ... {a1, a2, a3, a4, ..., an}} a1은 n번, a2는 n-1번 ... an은 1번 입력되는걸 확인할 수 있다 : 입력값을 빈도수대로 정렬하면 끝나는 문제!! 예를들어 "{{4,2,3},{3},{2,3,4,1},{2,3}}" 이 문자열은 3은 4번, 2는 3번, 4는 2번 1은 1번 입력됐으니 a1 = 3, a2 = 2, a3 = 4, a4 = 1이 된다 ∴ [3, 2, 4, 1] 코드상으로 네 과정을 거쳐서 튜플을 찾을 수 있다 1. 입력된 문자열에서 괄호와 쉼표를 제외한 숫자만..

[프로그래머스/C++] 키패드 누르기

휴대폰 키패드를 어느쪽 손가락으로 누르는지 반환하는 문제다 처음 손가락의 위치는 각각 *, # 왼손과 가까운 1, 4, 7은 왼손 엄지손가락으로, 오른손과 가까운 3, 6, 9는 오른손 엄지손가락으로 누른다 2, 5, 8, 0은 두 엄지손가락의 현재 키패드의 위치에서 더 가까운 엄지손가락을 사용한다 그 거리가 같으면 왼손잡이는 왼손, 오른손잡이는 오른손을 쓴다 (키패드 이동 한 칸은 거리로 1에 해당) 1, 4, 7과 3, 6, 9는 문제가 되지 않는다 가운데열에 있는 2, 5, 8, 0을 처리하는 문제 이럴땐 아래와 같이 좌표로 저장하면 쉽다 좌표로 거리 구하는건 x, y가 각각 얼마나 차이나는지 계산해보면 된다 1,0과 1,1의 거리는 0,1 → 0+1 = 1 2,0과 1,1의 거리는 1,1 → 1+..