[정올 1240] 제곱근 http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&code=1240&sca=99 JUNGOL www.jungol.co.kr #include typedef unsigned long long u64; u64 N; //Binary Search u64 bsearch(u64 s, u64 e, u64 target) { u64 ans = target, mid; while (s 프로그래밍 알고리즘 2023.01.02
[정올 1239] 비밀편지 http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&code=1239&sca=99 JUNGOL www.jungol.co.kr #include //각 문자의 암호, Letter[0]은 C[0]='A'와 대응됨 int Letter[8][6] = { {0,0,0,0,0,0}, {0,0,1,1,1,1}, {0,1,0,0,1,1}, {0,1,1,1,0,0}, {1,0,0,1,1,0}, {1,0,1,0,0,1}, {1,1,0,1,0,1}, {1,1,1,0,1,0} }; //각 문자 char C[8] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H' }; char Ans[10]; int N, tmp[6], cnt; int GetC() { int f.. 프로그래밍 알고리즘 2023.01.02
[정올 1214] 히스토그램 http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&code=1214&sca=99 JUNGOL www.jungol.co.kr #include int N; typedef unsigned long long u64; u64 st[100010], ans, min = 1000000000; int main(void) { scanf("%d", &N); for (int i = 0; i < N; i++){ scanf(" %lld", &st[i]); min = (st[i] < min) ? (st[i]) : (min); } ans = min * (u64)N; for (int i = 0; i < N; i++){ //양 옆으로 자기보다 작은 게 나올 때까지 계산 if (st[i] = .. 프로그래밍 알고리즘 2022.12.31
[정올 1183] 동전자판기(하) http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&code=1183&sca=99 JUNGOL www.jungol.co.kr #include enum Coin { _500 = 0, _100, _50, _10, _5, _1, CM }; int W, myW, CoinNum[CM], AnsCoin[CM], CoinVal[CM] = {500, 100, 50, 10, 5, 1}, cnt; void Print() { for (int i = _500; i < CM; i++) cnt += AnsCoin[i]; printf("%d\n", cnt); for (int i = _500; i < CM; i++) printf("%d ", AnsCoin[i]); printf("\n"); .. 프로그래밍 알고리즘 2022.12.31
[정올 1175] 주사위던지기2 http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&code=1175&sca=99 JUNGOL www.jungol.co.kr #include //cb[9]: 주사위 눈을 저장하는 배열 //sum: N번 시행한 눈의 합 int N, M, cb[9], sum; void fill(int idx) { //idx번째 주사위를 던지는 함수 if (idx >= N) { //N번을 다 던진 경우에 if (sum == M) { //N번 던진 눈의 합의 M인 경우에만 출력 for (int i = 0; i < N; i++)printf("%d ", cb[i]); printf("\n"); } return; //N번을 다 던지면 재귀 탈출 } for (int i = 1; i 프로그래밍 알고리즘 2022.12.31
[정올 1169] 주사위던지기1 http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=449&sca=99&sfl=wr_hit&stx=1169 JUNGOL www.jungol.co.kr #include int N, M, mt[6*6*6*6*6 + 10][5], cnt, comb[5]; inline int getBgIdx(int idx) { if (M == 2){ if (idx == 0)return 1; elsereturn comb[idx - 1]; } return 1; } int check(int idx) { if (M == 3){ if (idx == 0)return 1; for (int i = 0; i < idx; i++) if (comb[i] == comb[idx]) return f.. 프로그래밍 알고리즘 2022.12.31
[정올 1161] 하노이1 http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=441&sca=99&sfl=wr_hit&stx=1161 JUNGOL www.jungol.co.kr #include void hanoi(int n, int a, int b, int c) { //원반의 개수, 시작봉, 목적봉, 중심봉 if (n == 1) { //원반의 개수가 1이면, 장애물 치우기(시작봉 -> 목적봉) printf("%d : %d -> %d\n", n, a, b); } else { hanoi(n - 1, a, c, b); //n-1원반을 시작봉 -> 중심봉 으로 이동한다. printf("%d : %d -> %d\n", n, a, b); //n원반을 시작봉 -> 목적봉 으로 이동 hano.. 프로그래밍 알고리즘 2022.12.31
[정올 1158] 삽입정렬 http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=438&sca=99&sfl=wr_hit&stx=1158 JUNGOL www.jungol.co.kr #include int N, ar[105]; int main() { scanf("%d", &N); for (int i = 0; i = j; k--) { ar[k + 1] = ar[k]; } ar[j] = tmp; break; } } fo.. 프로그래밍 알고리즘 2022.12.31
[정올 1157] 버블정렬 http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&code=1157&sca=99 JUNGOL www.jungol.co.kr #include int N, ar[105]; int main(void) { scanf("%d", &N); for (int i = 0; i 0; i--) { for (int j = 0; j ar[j + 1]) { int tmp = ar[j]; ar[j] = ar[j + 1]; ar[j + 1] = tmp; } } for (int i = 0; i < N; i++)printf("%d ", ar[i]); p.. 프로그래밍 알고리즘 2022.12.30
[정올 1146] 선택정렬 http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&code=1146&sca=99 JUNGOL www.jungol.co.kr #include int N, ar[105]; int main() { scanf("%d", &N); for (int i = 0; i ar[j]) minidx = j; } int tmp = ar[minidx]; ar[minidx] = ar[i]; ar[i] = tmp; for (int k = 0; k < N; .. 프로그래밍 알고리즘 2022.12.29