문제 출처 : https://www.acmicpc.net/problem/10799 풀이과정스택을 사용하는 대표적인 문제 중 하나이다.입력은 문자열을 이용하여 받았고, 문자열의 길이만큼 반복문을 통해서 괄호를 체크하였다.문제의 핵심은 '()'가 나올 때 '('의 개수를 체크하는 부분인 것 같다. (레이저로 떨어지는 쇠막대기의 개수를 파악할 수 있다.)'('를 만나면 스택에 push 해주고 ')'를 만날 경우에는 두 가지 경우로 나누어서 처리했다.1. ')' 만날 경우 바로 이전의 index의 문자가 '('인 경우에는 레이저이기 때문에 '('를 pop 시켜주고 '('의 개수를 파악해준다.2. ')' 만났지만 바로 이전의 index의 문자가 '('가 아닌 경우에는 쇠막대기의 끝이기 때문에 1만 더해준다. 소스..
문제 출처 : https://www.acmicpc.net/problem/1152 풀이과정어제 새벽에 잠들어서 낮잠을 오래오래 자느라 늦게 풀었다.단어의 개수라고 해서 띄어쓰기로 구분해서 단어를 세려고 했다.하지만 맨 앞이 공백이거나 마지막이 공백인 경우의 예외처리를 하지않아 좀 오래 걸렸다. 소스코드12345678910111213141516171819202122232425262728293031#include #include using namespace std;#define SIZE 1000000 int main(){ char std[SIZE]; int cnt = 0; cin.getline(std,SIZE); for (int i = 0; i
문제 출처 : https://www.acmicpc.net/problem/10808 풀이과정조별과제 때문에 바빠서 쉬운문제를 풀었다.문자열을 입력받고 문자열의 길이만큼 문자의 아스키코드를 확인하여 카운트 하는 방법으로 해결했다. 소스코드123456789101112131415161718192021222324252627#include #include int alpha[26];int main(){ std::string S; std::cin >> S; for (int i = 0; i