기초 코드 작성 요령

김채원·2025년 4월 2일

시간, 공간 복잡도


정수 자료형


실수 자료형


STL과 함수 인자


표준 입출력

✅ cin

  • <iostream> 에 포함되어 있다.
  • 표준 입력 버퍼에서 개행(줄바꿈)문자를 제외한 값을 가져온다.
  • 개행(줄바꿈) 문자를 입력 버퍼에 남겨둔다.
  • 공백과 줄바꿈을 구분자로 인식하여 그 전에 입력된 값을 가져온다.

✅ iostream 라이브러리의 cin.getline()

  • 형태 : cin.getline(변수 주소, 최대 입력 가능한 문자 개수 n, 종결 문자 delim)
cin.getline(str, 100);

✅ String 라이브러리의 getline()

  • 입력 받을 최대 문자 개수를 입력하지 않아도 된다.
  • 원하는 구분자(delimiter)를 만날 때까지 모든 문자열을 입력 받아 하나의 string 객체에 저장한다.
  • 형태 : getline(입력스트림 객체, 문자열을 저장할 string 객체, 종결 문자)
  • 줄바꿈 \n 을 기준으로 문자열을 읽으므로 공백이 있을 경우 공백도 포함한다. 따라서 주로 공백을 포함하여 문자열을 입력 받을 때 사용한다.
string s;
getline(cin, s);
cout << s;

✅ ios::sync_with_stdio(0), cin.tie(0)

cin/cout 명령 사용 시 입출력으로 인한 시간 초과를 막기 위해 사용한다.

  • sync_with_stdio(0) : c streamc++ stream 의 동기화를 끊는 명령
  • cin.tie(0) : cin 수행 전에 cout 버퍼가 비우지 않도록 하는 명령

참고
문자열 출력 시 출력 버퍼에 문자가 임시로 저장되었다가 비워지면서 화면에 출력된다. 따라서 입력과 출력을 번갈아 가면서 이루어져야 할 때 cin 명령 수행 전 cout 버퍼를 비워야 정상적으로 동작한다. 하지만 채점 시에는 출력만 확인하기 때문에 굳이 cin 명령 수행 전에 cout 버퍼를 비울 필요가 없다.


✅ endl

  • 개행 문자(줄바꿈)를 출력하고 출력 버퍼를 비우는 명령이다.
  • 줄바꿈이 필요하면 endl 대신 개행문자 \n 을 직접 출력하자.

💡 TIP

출력 맨 마지막에 공백 혹은 줄바꿈이 추가로 있어도 상관 없다.

0개의 댓글