일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 삼성 코딩테스트
- 다음 API
- 그리디 알고리즘
- 영어회화 100일의 기적
- multiset
- 창훈쓰다
- yolo
- 백트레킹
- lower_bound
- Segment Tree
- 캘리그라피
- 인간이 그리는 무늬
- MST
- 평창동계올림픽
- 성화봉송주자
- 비트마스크
- 다음 지도 api
- upper_bound
- BFS
- 성화봉송
- 안드로이드 스튜디오
- 다이나믹 프로그래밍
- 생활코딩
- 이분탐색
- boj
- 위상정렬
- 언어의 온도
- DP
- 외판원 순회
- BOJ 2098
- Today
- Total
목록코딩/사소한 팁 (27)
Hoon222y
보통 dfs나 bfs를 하면 2차원 배열상에서 이동하는 경우가 생기는데 그때마다 같은 코드를 반복하지 않고 for문으로 해결할 수 있다.12345678910111213141516171819202122232425262728293031#include #include using namespace std;//4방향 탐색int dx[4] = {0,0,1,-1};int dy[4] = {1,-1,0,0};int arr[100][100];int N,M;queue q; //범위를 벗어나는지 확인해주는 chkbool chk(int a,int b){ return 0
int n, b; cin >> n >> b; string ans = ""; //이것도 포인트 ! 추가하는 방식으로 할 수 있음을 알게되었다. while (n > 0) { int r = n % b; if (r < 10) { ans += (char)(r + '0'); //숫자인 경우는 그냥 '0'을 더함으로서 숫자로 넣을 수 있고 } else { ans += (char)(r - 10 + 'A'); // 그 진법을 넘어서 알파벳으로 표현하게 되는경우 -10 +'A'를 해주면 된다. } n /= b; } reverse(ans.begin(),ans.end()); cout
1) scanf("%1d" , &x); 이런식으로 %와 d사이에 숫자를 넣으면 그 숫자만큼 나누어서 입력받는다.2) 이런식이면 10개씩 나누어서 출력한다.char a[100];int main(){ while (scanf("%10s",a)==1) { printf("%s\n",a); } return 0; }
123456789#include #include using namespace std; int main(){ char a; scanf("%c", &a); printf("%d" ,a);}cs
3.1 코드의 중요성을 간과하지 마라.프로그래밍 대회에서 좋은 성적을 올리기 위한 비결은 당장 빨리 코드를 작성하는 것보다 읽기쉬운 코드를 작성하는 것이다.- 복잡하고 읽기 어려운 코드는 디버깅도 어렵고, 한번에 정확하게 작성하기도 어렵기 때문에 ...- 반복적인 연습을 통하여 내 코드 스타일을 간결하고 일관되게 짜야한다. 3.2 좋은 코드를 짜기위한 원칙간결한 코드를 작성하기적극적으로 코드를 재사용하기- 같은 코드가 세번이상 등장한다면 항상 해당 코드를 함수로 분리해 재사용 한다는 원칙을 만들면 좋다.표준 라이브러리 공부하기 - 적어도 언어의 문자열, 동적배열, 스택, 큐 리스트, 사전등의 자료구조 그리고 정렬등의 표준적인 알고리즘 구현 사용법을 알아두자.항상 같은 형태로 프로그램을 작성하기일관적이고 ..