본문 바로가기

전체 글92

[스택, 배열] 28278 : 스택2 https://www.acmicpc.net/problem/28278 28278번: 스택 2 첫째 줄에 명령의 수 N이 주어진다. (1 ≤ N ≤ 1,000,000) 둘째 줄부터 N개 줄에 명령이 하나씩 주어진다. 출력을 요구하는 명령은 하나 이상 주어진다. www.acmicpc.net 저번주 벡터로 풀어 봤던 스택문제를 이번엔 배열과 클래스를 이용해서 짜봤다. 근데 출력초과가 뜨는 것이 아닌가? 출력하지 말아야 할 것을 출력하면 뜨는 오류라고 했다. 곰곰히 다시 보니 2번에서 출력오류가 났다. 2번 명령 : 스택에 정수가 있다면 맨 위의 정수를 빼고 출력한다. 없다면 -1을 대신 출력한다. 무슨 오해냐? 나는 맨위를 삭제하고, 나머지 정수를 출력하라고 하는 줄 알았다... 하지만 삭제한 그 애를 출력하라.. 2023. 9. 13.
[C++] rand() 21번 줄에 rand() % max + min을 하면 최솟값과 최댓값 사이 임의의 값을 얻을 수 있다. 근데 왜? 1) rand()는 0 ~ RAND_MAX 사이의 난수를 생성함 2) % 나머지 연산자는 rand()를 max로 나눌 때 나머지를 구함. 그럼 난수의 범위가 0 ~ max-1로 제한됨 3) +min을 하면 범위가 0~max-1 => min ~ max-1+min으로 범위 설정 2023. 9. 13.
[C++] cmath 라이브러리 #include 추가해야 한다. 제곱근 sqrt 중학생 이후로... 제곱근 처음 들어봐서 검색해봤는데 루트 씌운 애였다. 4 = 2*2 니까 4의 제곱근은 2, 스퀘어루트여서 sqrt임 POW(2,3) 2의 3승 또는 2의 세제곱 = 8 소수점! double bill_total {102.78}; int number_of_guests {5}; double individual_bill = bill_total/number_of_guests; double individual_bill_1 = ceil(individual_bill*100)/100; -> 마지막 코드는 소수점 이하 2자리까지 나타내는 줄이다. individual_bill = 20.556 20.556 * 100 = 2,055.6 올림하면 2,055 1.. 2023. 9. 13.
[스택] 10773, 벡터 사용한 스택 https://www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 처음 도전한 코드(실패) 4,3,0,1,0은 0이 나와서 오예! 하고 돌렸는데, 바로 실패였다. 이유는 0이 연속으로 나왔을 때 오답이 나왔기 때문.. #include #include #include using namespace std; int main() { int K {}; int temp{}; int sum{}; vector numbers{}; cin >> .. 2023. 9. 8.
[C++] find() / npos s1 = "Welcome to the world of Potato"; string word{}; cout > word; size_t position = s1.find(word); if (position != string::npos) cout 2023. 9. 7.
[스택 & 벡터] 28278 실버 문제 처음 풀어보았다. 친구들과 알고리즘 스터디를 하는데, 골드 문제 푼 친구의 코드 설명을 듣고 실버 정도는 도전해도 좋겠단 생각이 들었다. 벡터를 열심히 연습하고자 스택 문제에 벡터를 써서 접근했다. https://www.acmicpc.net/problem/28278 28278번: 스택 2 첫째 줄에 명령의 수 N이 주어진다. (1 ≤ N ≤ 1,000,000) 둘째 줄부터 N개 줄에 명령이 하나씩 주어진다. 출력을 요구하는 명령은 하나 이상 주어진다. www.acmicpc.net 우선.. 스택은 접시 쌓기 처럼 맨 처음에 넣은 요소가 맨 밑바닥이 된다는 것을 기억해야 했다. 시간 초과한 나의 코드 #include #include using namespace std; vector stack{};.. 2023. 9. 5.