Algorithm
![[백준, Java] 16120번 : PPAP](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTBW0W%2FbtrAFMFFACy%2Ffckotd9qiHrGGiWOxqxAA1%2Fimg.gif)
[백준, Java] 16120번 : PPAP
🔗 문제 링크 https://www.acmicpc.net/problem/16120 😮 문제 해결 방법 스택을 이용해서 문제를 해결했다. ‘P’가 들어오는 경우 스택에 저장하고, ‘A’가 들어오는 경우는 PPAP 문자열인지 판단해주었다. ‘A’가 들어오는 경우 PPAP 문자열인지 판단하기 위해 바로 다음 인덱스 문자가 ‘P’인지 판단하고 스택 사이즈가 2 이상 (스택에는 ‘P’만 들어감)인지 확인 후 스택을 두번 pop해 주었다. 결론적으로, 스택에서 pop된 문자 2개 PP와 현재 인덱스 A, 다음 인덱스 P가 되어 문자열 PPAP가 만들어지므로 다음 인덱스 ‘P’로 대체가 가능하다. 이외의 경우는 PPAP문자열을 P로 대체할 수 없으므로 “NP”를 리턴한다. 모든 PPAP 문자열이 P로 대체된다면, 마..
![[백준, Java] 16637번 : 괄호 추가하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcvF8Rq%2FbtrAG64HeGI%2FSeL81fODp7pF6K9KPSpWQk%2Fimg.gif)
[백준, Java] 16637번 : 괄호 추가하기
🔗 문제 링크 https://www.acmicpc.net/problem/16637 😮 문제 해결 방법 문제에서 주의깊게 봐야하는 조건이 몇가지 있다. 모든 연산자의 우선순위는 동일하기 때문에 수식 계산은 왼쪽 부터 차례로 계산한다. 괄호 안에는 연산자가 한 개만 들어간다. 1번 조건을 충족하기 위해서 재귀함수 호출 시 마다 현재까지의 결과 값(ouput 파라미터)과 괄호 추가한 경우 결과값 혹은 다음 차례의 피연산자와 계산을 한 결과값을 다음 재귀 호출시 넣어주어야 한다. 2번 조건을 충족하기 위해서 **현재 차례로 부터 다음 차례와 다다음 차례 (index + 1, index + 2)**의 피연산자를 먼저 계산해준다. 그 후 현재까지의 결과 값과 다시 한번 계산 하면 괄호를 반영한 결과값을 구할 수 있..