코테 준비-문제풀기

교내 코딩테스트 강의 1주차

FireStone 2020. 7. 8. 20:13

https://www.onlinegdb.com/

 

GDB online Debugger | Compiler - Code, Compile, Run, Debug online C, C++

Online GDB is online compiler and debugger for C/C++. You can compile, run and debug code with gdb online. Using gcc/g++ as compiler and gdb as debugger. Currently C and C++ languages are supported.

www.onlinegdb.com

이 사이트를 이용해 컴파일을 한다.

되게 간단한것들을 해보고있다..간단한 c++ 문법

argc 는 argument의 수를 의미 합니다. argv 는 argument 가 char 형으로 저장이 되는 변수

argv[0]에는 실행파일명이 들어간다! --> 조심!

-  atoi를 사용해 char to int를 실행해주었다.

int main(int argc, char *argv[]){
	int num1= atoi(argv[1]);
	int num2= atoi(argv[2]);
    int sum;
    sum=num1+num2;
    cout<<sum;
}

이것도 간단하게 소문자-> 대문자로 변환하기

강사님은 -a와 +A를 사용하였다. 난 그냥 바로 아스키로 빼줌

#include <stdio.h>
#include <iostream>
#include <string>
using namespace std;

int main(int argc, char *argv[])
{
  string str;
  char out_c;
  string result="";
  cin>>str;
  for(int i=0;i<str.length();i++){
      if(str.at(i)>=97){
          out_c=str.at(i)-32;
          result+=out_c;
      }
      else
      result+=str.at(i);
  }
 
cout<<result;

    return 0;
}

- stack

#include <iostream>
#include <stack>
using namespace std;

int main()
{
    stack<int> s;
    s.push(1);
    s.push(2);
    s.push(3);
    
    cout<<"size"<<s.size()<<endl;
    
    cout<<s.top()<<endl; //스택의 맨 위 반환
    s.pop(); //맨 위 삭제
    cout<<s.top()<<endl; //삭제된거 확인 가능
    s.pop();
    cout<<"empty?"<<s.empty()<<endl;
    s.pop();
    cout<<"empty?"<<s.empty()<<endl;
 

    return 0;
}

stack 실행결과

- queue => front를 사용한다는 점이 다르고, FIFO는 실행결과 보면 알 것이다..

설명을 위한 글이 아니라서 그냥 기록만..

#include <iostream>
#include <stack>
#include <queue>
using namespace std;

int main()
{
    queue<int> q;
    q.push(1);
    q.push(2);
    q.push(3);
    
    cout<<"size"<<q.size()<<endl;
    
    cout<<q.front()<<endl; //큐의 맨 앞 반환
    q.pop(); //맨 위 삭제
    cout<<q.front()<<endl; //삭제된거 확인 가능
    q.pop();
    cout<<"empty?"<<q.empty()<<endl;
    q.pop();
    cout<<"empty?"<<q.empty()<<endl;
 

    return 0;
}

queue 결과

 

- sort

sort(v.begin(), v.end(), greater<int>()); //내림차순

sort(v.begin(), v.end(), less<int>()); //오름차순