반응형

전체 글 430

벡터의 순회

벡터의 모든 원소들을 순회할 때 인덱스를 사용하거나 Range for문을 사용할 수 있습니다. 하지만 이렇게 하기 어려운 경우들이 있습니다. vector v = { 3, 1, 8, 9, 12, 2 }; for (int i = 0; i < v.size(); i++) v.at(i); for (int k : v) for k; 맞는 코드는 아니지만 대충 느낌만 보여주고자 이렇게 썼습니다. 정통적인 for문을 사용해주거나 range for 함수를 사용해주시면 되는 것입니다. 이런 복잡한 상황에서는 iterator을 통해 vector을 순회하면 됩니다. 주어진 벡터에서 모든 홀수를 제거하고 모든 짝수에는 2를 곱하라 int main() { vector vec{ 10, 8, 1, 5, 4, 6, 11, 2 }; fo..

vector insert, erase 정리

vector의 맨 뒤에 원소를 삽입할 대는 push_back을 삽입합니다. 그러면 맨 앞이나 혹은 가운데에 삽입하려면 어떤 것을 사용해야 할까요? 그리고 원소를 삭제하려면 어떠한 원소를 사용해야 할까요? 배열이라면 배열 자체가 특별한 기능을 제공해주는 것은 없습니다. 그 위치부터 끝까지 저장되어 있는 데이터를 이동을 시키고 빈칸으로 만든 다음 새로운 데이터를 써주는 방법 있는데요. 배열에 데이터를 저장한다고 했을 때 빈칸없이 저장하는 것이 배열을 사용할 때 다른 부분에서 사용할 때 고려해서 코딩을 해야되기 때문에 예외적인 경우라고 볼 수 있고, 앞에서 꽉꽉 찬 상태를 유지해야한다면 다른 데이터를 옮겨오거나 한칸씩 땡기는 작업을 직접 다 해야하는 경우입니다. vector는 이런 일들에 대해서 기능을 제공하..

[C++] 백준 11718번 그대로 출력하기

https://www.acmicpc.net/problem/11718 11718번: 그대로 출력하기 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시 www.acmicpc.net 풀이 -geline을 통해 적용하는 것까진 쉽게 되었습니다. -어디까지 해야하는지 정해져 있지 않았기 때문에 while문을 사용했습니다. #include #include using namespace std; int main() { string b; while (true) { getline(cin, b); cout

[C++] 백준 3003 킹, 퀸, 룩, 비숍, 나이트, 폰

https://www.acmicpc.net/problem/3003 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰 첫째 줄에 동혁이가 찾은 흰색 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수가 주어진다. 이 값은 0보다 크거나 같고 10보다 작거나 같은 정수이다. www.acmicpc.net 풀이 #include #include using namespace std; int main() { int occasion[6] = { 1, 1, 2, 2, 2, 8 }; int array[6]; for (int i = 0; i > array[i]; cout

[C++] 백준 5622 다이얼

https://www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net 풀이 #include #include using namespace std; int main() { string a; int arr[26] = { 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8 ,8, 8, 9, 9, 9, 10, 10, 10, 10 }; cin >> a; int count = 0; for (int i = 0; i < a.length(); i++) { count += arr[(int)a[i] - 65]; } cout

[C++] 백준 2908 상수

2908번: 상수 (acmicpc.net) 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 풀이 #include #include using namespace std; int main() { string a, b; cin >> a >> b; string res; for (int i = 2; i >= 0; i--) { if (a[i] > b[i]) { res = a; break; } else if (a[i] = ..

반응형