본문 바로가기
C++/백준 Etc

[c++] 2. 기초 코드 작성 요령 2

by 스프링섬머 2023. 7. 13.
728x90
문제 풀이

A+B (1000)

세수정렬 (2752)

윤년 (2753)

주사위 세 개 (2480)

윷놀이 (2490)

홀수 (2576)

대푯값2 (2587)

일곱 난쟁이 (2309)

숫자 (10093)

핸드폰 요금 (1267)

카드 역배치 (10804)

최댓값 (2562)

 

Git-Hub 코드

https://github.com/intlabSeJun/c-plus-coding-test/tree/master/2.%20%EA%B8%B0%EC%B4%88%20%EC%BD%94%EB%93%9C%20%EC%9E%91%EC%84%B1%20%EC%9A%94%EB%A0%B9%20ll

 

 

알게 된 것

1. STL(Standard Template Library)에 대해서 알게됨

  •  vector는 가변배열로 크기를 마음대로 조절 가능. 하지만 c에서의 구조체와 같이 함수 인자로 넘겨줄 시에는 복사 되기 때문에, c++에서는 reference를 사용해서 주소를 보내줘야 함.

2. string을 사용해서 문자열을 받으면 편함.

  • 하지만 공백이 포함된 문자열은 공백 이후는 버려져서 입력 받기 때문에, getline()을 사용해야 한다. getline()은 <iostream>과 <string>에서 가져올 수 있다. <string>에서의 getline()을 사용할 시에는 이전에 입력 후에 개행문자가 남아있는지 체크하자. 남아 있다면 cin.ignore()를 사용해서 개행문자를 제거해야 getline()으로 문자열을 받을 수 있음.

3. 입출력 c,c++ 동기화 끊고 cin,cout만 사용하자. 다음과 같은 문구는 필수로 입력

  • ios::sync_with_stdio(0);
  • cin.tie(0);

4. endl은 절대 쓰지마라, 개행할 일이 있으면 개행문자를 출력하기.

 

5. 코딩테스트는 정답을 맞추는 데에만 집중하면 됨.

  • 예를 들어, 용량 제한을 넘지 않는 배열의 선언(arr[10005])과 같이 엄청나게 효율적으로 짤 필요가 없다.

6. iosreammax가 있는 듯.

  • 예를 들어, 세 수(a,b,c)의 가장 큰 수를 구한다면 max(max(a,b),c)로 간단히 하면 됨. + 기타 라이브러리 algorithm, math.h, cmath 등은 보통 사용 가능하다고 함.

7. 순서대로 출력하는 문제에서, 개행문자를 써주도록 하자.

 

8. algorithmsort를 이용하면 편함.

  - srot(배열, 배열+n) : n까지 sort.

 

9. vector에 대해서 문법 정리. coding_test_baaakingDog/2. 기초 코드 작성 요령 ll/벡터 정리.cpp

  •    간단하면서 편하고 직관적이다. 파이썬의 리스트와 비슷. 굳.

10. double10^15까지 저장, long long10^18까지 저장

11. 예외처리도 생각하자.

12. 문제를 똑바로 이해해야 한다.

 

13. 배열에서 인덱스 조심, 문제에서 제시하는 번호와 실제 값이 저장되는 인덱스 잘 고려할 것.

728x90