본문 바로가기

코딩테스트51

[백준] 단계별로 풀어보기 > 1차원 배열 (c++) 문제 1. 최소, 최대 #include #include using namespace std; int min(vector& arr) { int min = arr.front(); for (int i = 0; i max) { max = arr.at(i); } } return max; } int main() { int a, tmp; vector arr; cin >> a; for (int i = .. 2022. 1. 14.
[백준] 단계별로 풀어보기 > while문 (c++) 문제 1. A+B - 5 #include using namespace std; int main() { int a, b; while (true) { cin >> a >> b; if (a + b == 0) { break; } cout a >> b) { cout a; b = a; do { func(b, &front_a, &back_a); func(front_a + back_a, NULL, &back_b); b = back_a * 10 + back_b; cycle++; } while (a != b); cout 2022. 1. 14.
[백준] 단계별로 풀어보기 > for문 (c++) 문제 1. 구구단 #include using namespace std; int main() { int a; cin >> a; for (int i=1; i> a >> b; arr[i] = a + b; } for (int i = 0; i > a >> b; arr[i] = a + b; } for (int i = 0; i b[i]; arr[i] = a[i] + b[i]; } for (int i = 0; i < cnt; i++) { cout 2022. 1. 13.
[백준] 단계별로 풀어보기 > if문 (c++) 문제 1. 두 수 비교하기 #include using namespace std; int main() { int a, b; cin >> a; cin >> b; if (a > b) { cout = 60) { b = "D"; } if (a >= 70) { b = "C"; } if (a >= 80) { b = "B"; } if (a >= 90) { b = "A"; } cout > a; if(a % 4 == 0 && a % 100 != 0) { answer = 1; } if (a % 400 == 0) { answer = 1; } cout > x; cin >> y; if (x > 0 && y > 0) { answer = 1; } if (x 0) { answer = 2; } if (x < 0 &&.. 2022. 1. 12.
[백준] 단계별로 풀어보기 > 입출력과 사칙연산(c++) 문제 1. Hello World #include int main(){ std::cout 2022. 1. 12.
[알고리즘] 달팽이 배열 채우기 1. 달팽이 배열 - 외곽부터 정사각형을 채우고 대각선 아래로 이동하여 반복 2. 방법별 코드 정리 2-1) 코드 - 외부부터 한바퀴씩 작성 - 시계방향으로 회전하는 달팽이 배열을 이동 좌표를 미리 계산하는 방식으로 작성 # 범위내 좌표이동 def add_direction(x, y, arr_direction, int_direction, int_k): a, b = 0, 0 # x 좌표 이동 next_x = x + arr_direction[int_direction][0] if next_x >= 0 and next_x = 0 and next_y < int_k.. 2021. 11. 6.
[프로그래머스][Lv.3][Python] 단어변환 1. 문제 https://programmers.co.kr/learn/courses/30/lessons/43163 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr 2. 코드 def dfs(begin, target, words, visited): str_end = target str_start = begin int_depth = 0 arr_stack = [str_start] while arr_stack: str_top = arr_stack.pop() print(str_t.. 2021. 10. 21.
[프로그래머스][Lv.1][Python] K번째 수 1. 문제 https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 2. 코드 def solution(array, commands): answer = [] for cmd in commands: answer.append((lambda i, j : sorted(array[i-1:j]))(cmd[0], cmd[1])[cmd[2]-1]) return answer 3. 결과 2021. 10. 21.
[알고리즘] 함수 1. 가설 적용 코드 (C++) typedef unsigned long long ll; /* * input : ll input (정수) * output : int (1 or 0) * unsigned long long 형태의 정수를 넣으면 해당 수가 소수인지 여부를 알려준다. * 소수 판별 custom 버전 */ int is_prime_number_custom(ll input) { if (input < 2) { return 0; } for (ll j = 2; j 2021. 10. 11.
[알고리즘] 0 ~ N 사이의 소수 개수 구하기 코드 1 - i(2 ~ N)를 j(2 ~ i)로 나누기 N을 입력받고 i를 2~N까지 1씩 더한다. j가 2부터 i에 도달할때까지 1씩 더하면서 i와 나누어 떨어지면 (1과 자기 자신을 제외한 인수가 있으므로) 소수가 아님. 위 연산을 반복해서 0~N 까지 소수의 개수를 하나하나 판단하여 카운팅한다. 각 범위를 계산하며 시간을 측정해본 결과는 아래 표와 같다. #include #include int main() { int i, j, cnt=0, flag=1; unsigned int min, max; // 범위 입력 printf("min : "); scanf_s("%d", &min); printf("max : "); scanf_s("%d", &max); // 2보다 작은 최소 범위가 입력되면 2로 고정 i.. 2020. 5. 19.
[알고리즘] RSA 암복호화 알고리즘 C로 구현하기? ** 아래 코드는 검증되지 않았음(개인 학습용), 문제점 발견 시 댓글로 적어주시면 감사하겠습니다. 1. 이론 찾아보기 이론과 원리에 대해서 설명 https://kevin0960.tistory.com/entry/RSA-%EC%95%94%ED%98%B8%EC%99%80-%EA%B7%B8-%ED%95%B4%EB%8F%85 RSA 암호와 그 원리 RSA 암호와 그 원리 '암호학(Cryptography)의 모든 것' 에서 RSA 암호에 대해 간략하게 설명한 바 있다. RSA 암호는 공개키 암호(Public-key cryptography) 의 한 종류로 '큰 정수의 소인수분해의 난해성' 을 기.. kevin0960.tistory.com 구글링 중 찾은 사이트. RSA뿐만 아니라 ECC, 디피헬만 등 다양한 알고리.. 2020. 5. 17.