C/C++ 언어로 알고리즘 문제를 풀고 서로의 코드를 공유합니다.
src/main/java
패키지 밑에 알고리즘 사이트별 패키지를 작성합니다.- ex) Baekjoon Online Judge :
src/main/java/baekjoon
- ex) Baekjoon Online Judge :
- 각 사이트별 패키지 밑에
/{본인 이름}/{단계별 제목}/{p_문제번호}
형식으로 문제별 패키지를 생성합니다.- ex)
github.com/아이디/BOJ/Woo/
- ex)
- 커밋 메시지는 검색의 편의를 위해 알고리즘 사이트명과 문제 번호(ID)가 포함되도록 작성합니다.
- ex)
[baekjoon] 2750 사다리 타기
- ex)
[baekjoon] 10998 AxB
- ex)
- 우동근 2015039035
- 박정현 2015039034
- 안재광
- 염유진
삼성 기출 - https://www.acmicpc.net/workbook/view/1152
삼성 기출 + 삼성 - https://www.acmicpc.net/workbook/view/2063
- 컴파일 에러
- gcc 버전마다 조금씩 다를 수 있으므로, 기본 STL 라이브러리만 사용하기
- 백준에서는 컴파일 에러 원인을 알려주니 참고하여 수정.
- 런타임 에러
- 배열이나 포인터가 선언하지않은 이상한 곳을 가리킴.
- 어떠한 값이 NULL을 가리킴.
- 시간 초과
- 무한루프에 빠짐.
- 탐색한곳을 계속 탐색하는 중복 탐색이 많음
- 틀렸습니다
- 걍 너의 코드가 잘못됬다.
- 어디서인가 예외가 발생하고 있다.
- 머리속으로 임의의 값을 넣어보고 A4에 풀어보고 그 값이 나오는지 확인 (ex: 전체 배열을 1로 채우고 탐색하기, 한번도 시도하지 않는 경우 해보기)
int main()
{
int a[9];
for (int i = 0; i < 9; i++)
{
scanf("%1d", &a[i]);
}
for (int i = 0; i < 9; i++)
{
printf("%d", a[i]);
}
}
for (int i = 0; i < n; i++)
for (int j = i + 1; j < n; j++)
for (int l = j + 1; l < n; l++)
for (int k = l + 1; k < n; k++)
printf("%d %d %d %d\n", i, j, l, k);
int sol(int cur, int select) // 전체 N개 중에서 M개 선택(cur=현재 선택한 번호, select = 지금까지 선택갯수)
{
if (select < M)
{
for (int i = cur; i < N; i++)
{
que_select.push_back(i);
sol(i+1, select + 1);
que_select.pop_back();
}
}
else if(select==M) //모든 선택을 끝냈을때
{
}
}
- fgets(s,100,stdin); 줄바꿈까지 인식
- scanf("%[\n]\n",s); 띄어쓰기나 줄바꿈 단위로 인식
- getline(cin, s); 줄바꿈은 인식안하고 이전까지 인식