관리 메뉴

Storage Gonie

(3) 4월 28일 (일) - 코딩시험에서 부족했던 점 정리하기 본문

코딩테스트/알고리즘 문제복원

(3) 4월 28일 (일) - 코딩시험에서 부족했던 점 정리하기

Storage Gonie 2019. 4. 28. 00:53
반응형

* 최우선 순위라도 제대로 완료하면 미션 클리어.

# 최우선 순위
- 코딩시험에서 '부족했던 점' 혹은 '주의할 점' 정리하기

@ 첫 번째
- 아무리 쉬운 문제일지라도 주석으로 구조를 나눈 다음 코딩하는 습관이 부족했으니 이를 고치자.

@ 두 번째
- cin 혹은 scanf 다음에 바로 getline()을 호출 하게되면, 개행문자를 바로 받아버려서 getline()이 제대로 작동하지 않는 문제가 발생한다.
   이를 해결하기 위해 실제 코딩시험에서는 둘의 연쇄작용이 일어나는 부분 즉, test_case가 1 일 때의 부분에 getchar()를 삽입해 주었다.

cin >> T

for(int test_case = 1; test_case <= T; test_case++){
	
    if(test_case == 1)
        getchar();
        
	string s = getline(cin, str);
    
    //알고리즘 처리
}

@ 세 번째
- 출력해야할 데이터의 개수가 일정하지 않고 1개 ~ N개로 불규칙할 때 각각을 ' '로 띄어서 출력하고, 마지막에 '\n'을 출력하는 것을 연습하자.
- 출력해야할 원소의 끝을 중간에 모를 때.. 문제가 됐음.
- ex)A\n
- ex)A B\n
- ex)A B C\n

// input1 -> A
// input2 -> A B
// input3 -> A B C

#case 1
A
#case 2
A B
#case 3
A B C

@ 네 번째
- string이 아닌 배열에 입력받는 연습이 필요했다.
- 벡터가 알아서 동적으로 메모리 관리를 하기에 아래와 같이 입력 크기에 따른 입력을 받을 수 있다. 

    int n;
    cin >> n;
    vector<int> a(n+1);
    for (int i=1; i<=n; i++) {
        cin >> a[i];
    }

@ 다섯 번째
- 원소별 카운트, 가장 적은거 혹은 가장 큰거 출력, 거기에 등장횟수 별 정렬까지 가능하게 해두자.

@ 여섯 번째
- #include <cstdio> 뭘 포함하고 있는지 확인

# 다음 우선순위
- 알고리즘 강의 진도 빼기

반응형
Comments