분류 전체보기 (30) 썸네일형 리스트형 [백준] C++ 10828번 : 스택 풀이과정 N개의 문자열을 입력받아 vector v에 저장한다. push의 경우 입력할 값이 주어지기 때문에 if문을 사용해서 입력을 한 번 더 받는다. v에 입력된 값에 맞게 명령을 수행한다. 코드 더보기 #include #include #include #include using namespace std; int main() { stack st; vector v; int iInputSize = 0; cin >> iInputSize; cin.ignore(); v.reserve(iInputSize); for (int i = 0; i > s; v.push_back(s); if (s == "push") { cin >> s; v.push_back(s.. [백준] C++ 1159번 : 농구 경기 풀이과정 선수의 수(N)를 입력받고, 선수들의 이름을 vector형 변수(v)에 입력받는다. 문자 a-z를 아스키코드를 저장할 수 있는 배열(iArr)을 만들고 0으로 초기화 한다. 저장된 선수이름의 첫번째 문자를 int형으로 형변환한 값을 인자로 갖는 변수에 +1을 한다. 배열에 저장된 값이 5이상인 배열의 index를 문자로 형변환하여 출력한다. 코드 #include #include #include using namespace std; int main() { int iArr[200] = { 0, }; int iInputSize = 0; bool bIsGiveUp = true; vector v; cin >> iInputSize; v.reserve(iInputSize); for (int i = 0; i .. [백준] C++ 2953번 : 나는 요리사다 풀이과정 행과 열이 5개인 2차원 배열(iArr)과 최고점수를 받은 참가자 index(iMaxScoreIndex)를 저장할 변수를 만든다. 각 행은 참가자, 행의 0-4 열은 해당 행의 참가자가 얻은 네 개의 평가를 저장한다. 각 행의 5 열은 참가자가 받은 네 개의 평가의 합을 저장한다. 각 참가자의 최고 점수와 iMaxScoreIndex의 최고 점수를 비교한다. 코드 더보기 #include using namespace std; int main() { int iArr[5][5] = { {0,} }; int iMaxScoreIndex = 0; for (int i = 0; i > iArr[i][j].. [백준] C++ 2798번 : 블랙잭 풀이과정 카드의 개수(N)과 카드 3장 합의 최대값(M)을 입력받는다. 카드의 숫자를 저장한 벡터(v)와 고른 카드의 숫자를 더한 값(sum), 현재 인덱스(index), 더한 횟수(cnt)를 재귀함수의 인자로 받는다. 더한 횟수가 3이고 sum 이 입력받은 M보다 작거나 같을 때, 카드 3장의 합 최대값을 저장한 변수(iMax)와 비교해서 sum이 iMax보다 크다면 iMax에 sum의 값을 대입한다. 현재 인덱스에 해당하는 카드를 선택한다면 AddValue(v, sum + v.at(index), index + 1, cnt + 1); 로 index와 cnt를 1만큼 증가시켜주고 sum에 현재 인덱스가 가르키는 카드 값( v.at(index) )를 넣어준다. 현재 인덱스에 해당하는 카드를 선택하지 않는다.. [백준] C++ 3052번 : 나머지 풀이과정 입력받은 값을 42로 나누면 나오는 값의 범위는 0~42이다. 크기가 42인 배열(iArr)에 배열의 요소(index)를 입력받은 값 % 42 하여 iArr[index]에 1을 저장해준다. iArr의 각 요소의 값을 모두 더해주면 서로 다른 나머지가 몇 개 있는지 출력할 수 있다. 코드 더보기 #include using namespace std; int main() { int iArr[42] = { 0, }; int iCount = 0; for (int i = 0; i > input; iArr[input % 42] = 1; } for (int i = 0; i < 42; ++i) iCount += iArr[i]; cout [백준] C++ 2920번 : 음계 풀이과정 입력받은 숫자들을 int type vector에 저장하고 vector의 맨 뒤 값(size-1)과 그 이전값(size-2)을 비교한다. 맨 뒤 값 - 1 == 그 이전값을 비교하여 참일 경우 pop_back을 하여 vector의 size가 0이 된다면 "ascending"을 출력하고 거짓일 경우 검사를 중단하고 "mixed"을 출력한다. 맨 뒤 값 + 1 == 그 이전값을 비교하여 참일 경우 pop_back을 하여 vector의 size가 0이 된다면 "descending"을 출력하고 거짓일 경우 검사를 중단하고 "mixed"을 출력한다. 코드 풀이1 더보기 #include #include #include using namespace std; string CheckData(vector v) { .. 이전 1 2 3 4 다음