백준128 [백준 9012/c++] 괄호 - 문자열 - 스택 스택 문제는 전에 풀어본 적이 있어서 아주 쉽게 풀었다 다른 문제도 이렇게만 풀렸으면... #include using namespace std; int main(){ int n; cin >> n; for(int i=0; i> s; for(auto k : s){ if((stk.size()!=0) && (stk.top()=='(') && k==')'){ stk.pop(); } else{ stk.push(k); } } if(stk.size()!=0){ cout 2022. 6. 23. [백준 4673/c++] 셀프 넘버 문제 자체는 아주 간단하다 하지만!!! 왜인지 모르겠는데 주석부분의 i를 통해 구하려고 할 때 답이 달라지고 멈추고 난리라서 왜 그런지 이해하려고 하다가 결국 코드를 다른 방법으로 써서 통과한 문제이다 다른 분들의 풀이를 보면 함수로 빼서 하시던데 굳이 그럴 필요는 못느낀 문제였다 근데 왜 저게 안되는거야 아오... #include using namespace std; int main(){ bool t[10004]; for(int i=1; i 2022. 6. 23. 백준 3986/c++ )) 좋은 단어 - 스택 사용 개선답 이전 풀이는 수열의 규칙을 찾아서 풀려고 하다가 반례가 나와서 실패했다 스택을 통해서 테트리스처럼 새 단어와 stack 맨 위의 단어가 같으면 top을 pop 해서 없애주고 top과 새 단어가 다르면 stack 에 push 하여 쌓는 과정을 통해서 쉽게 코드를 짤 수 있었다 느낀점 : 문제에 맞는 최적의 자료구조를 이용하여 로직을 짜야 시간낭비도 적고, 정확도도 높은 코드를 작성가능하다 #include using namespace std; int n; string s; int main(){ int cnt=0; // 여기에 스택 선언 시, 아래 for문에서 돌때마다 스택안 값들이 남아있어서 에러가 난다 cin >> n; for(int i=0; i> s; // 한번 돌때마다 새로 stk 를 선언, 새 스택을.. 2022. 6. 16. 백준 1213/c++ )) 팰린드롬 만들기 아스키 코드 범위 이상(127개 이상)의 배열 cnt[200] 을 만들고 입력한 문자열 s를 돌며 각 문자를 반복자가 가리킬때마다 cnt[가리킨 문자의 아스키코드 넘버]의 값을 1씩 더해주어 s의 문자별 개수 데이터를 저장한다 알파벳 뒤부터 안으로 가야하므로 Z부터 A까지 하나씩 빼며 더하여 수행한다 홀수 개수를 갖는 문자가 하나면 mid 를 만들어주고 홀수 개수를 갖는 문자가 2개 이상이면 탈출한다 빈 결과문부터 시작해서 양옆에 문자를 하나씩 붙여서 만들어주고 홀수개수 문자가 딱 하나 있어서 mid 가 있다면 결과문 시작부터 결과문 길이 반만큼의 위치에 mid를 삽입한다 홀수 개수를 갖는 문자가 2개 이상이면 실패문구를 출력하고, 그 외에는 정상 결과문을 출력한다 어려웠던 점 아스키 코드 비교를 위해 .. 2022. 6. 15. 이전 1 ··· 28 29 30 31 32 다음