일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- LoB
- 파일 시스템
- 재귀
- 미로 탐색 알고리즘
- web
- 백준
- 시간복잡도
- System
- 자료구조
- ftz level13
- 큐
- level13
- PHP
- HTML
- 암호수학
- windosw 문자열
- 두근두근 자료구조
- 파이썬
- ftz
- c언어
- Java
- 정렬 알고리즘
- Stack
- pwnable.kr
- windosws wbcs
- SWiFT
- War Game
- C
- OSI
- 스택
- Today
- Total
목록Programming/Algorithm & Data Structure (60)
나의 기록, 현진록
선택 정렬 선택 정렬이란 리스트 중에 최솟값을 찾아 맨 앞의 값과 교체하는 정렬이다. 시간 복잡도는 평균 O(n2)으로 일반적으로 유사한 삽입 정렬보다 비효율적이며, 특히 큰 리스트에서 최악의 효율성을 가진다. 시간 복잡도의 최상은 O(n2), 최악은 O(n2)이다. 다음 영상은 선택 정렬의 동작 방식이다. 12345678910111213141516171819202122#include void selection_sort(int arr[], int len) { for (int i = 0; i
버블 정렬 버블 정렬은 인접한 두 원소를 비교하여 정렬하는 방법이다. 시간 복잡도는 평균 O(n2)로 느리고 비효율적이지만 코드가 단순하기 때문에 자주 사용된다. 시간 복잡도의 최상은 O(n), 최악은 O(n2)을 기록한다. 다음 영상은 버블 정렬 동작 방식이다. 1234567891011121314151617181920#include void bubble_sort(int arr[], int len) { for (int i = 0; i
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869#include #include void frequencyCount(int *alphabetList, char *cipherText);void printAlphabetList(int *alphabetList);void changeText(char findAlphabet, char changeAlphabet, char *Text);void printText(char *text);void printChangeList(char *changeList); void main() { int..
1003번 - 피보나치 함수 성공 풀이 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 2 초 128 MB 29986 11569 9099 40.957% 문제 다음 소스는 N번째 피보나치 함수를 구하는 함수이다. 1234567891011int fibonacci(int n) { if (n==0) { printf("0"); return 0; } else if (n==1) { printf("1"); return 1; } else { return fibonacci(n‐1) + fibonacci(n‐2); }} fibonacci(3)을 호출하면 다음과 같은 일이 일어난다. fibonacci(3)은 fibonacci(2)와 fibonacci(1) (첫 번째 호출)을 호출한다. fibonacci(2)는 fibo..
1009번 - 분산처리 성공 풀이 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 1 초 128 MB 17713 4449 3590 26.026% 문제 재용이는 최신 컴퓨터 10대를 가지고 있다. 어느 날 재용이는 많은 데이터를 처리해야 될 일이 생겨서 각 컴퓨터에 1번부터 10번까지의 번호를 부여하고, 10대의 컴퓨터가 다음과 같은 방법으로 데이터들을 처리하기로 하였다. 1번 데이터는 1번 컴퓨터, 2번 데이터는 2번 컴퓨터, 3번 데이터는 3번 컴퓨터, ... , 10번 데이터는 10번 컴퓨터, 11번 데이터는 1번 컴퓨터, 12번 데이터는 2번 컴퓨터, ... 총 데이터의 개수는 항상 ab개의 형태로 주어진다. 재용이는 문득 마지막 데이터가 처리될 컴퓨터의 번호가 궁금해졌다. 이를 수행해주는 ..
터렛 시간 제한 : 2초 메모리 제한 : 128MB 문제 조규현과 백승환은 터렛에 근무하는 직원이다. 하지만 워낙 존재감이 없어서 인구수는 차지하지 않는다. 다음은 조규현과 백승환의 사진이다. 이석원은 조규현과 백승환에게 상대편 마린(류재명)의 위치를 계산하라는 명령을 내렸다. 조규현과 백승환은 각각 자신의 터렛 위치에서 현재 적까지의 거리를 계산했다.조규현의 좌표 (x1, y1)와 백승환의 좌표 (x2, y2)가 주어지고, 조규현이 계산한 류재명과의 거리 r1과 백승환이 계산한 류재명과의 거리 r2가 주어졌을 때, 류재명이 있을 수 있는 좌표의 수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 다음과 같이 구성되어있다.첫째 줄에 x1, y1,..
카이사르(시져) 암호로 암호화된 문장을 복호화 시켜 평문을 찾아보자. 평문 : Ask again later. 암호문 : Hzr hnhpu shaly. 위와 같은 평문과 암호문을 예로 들면 실행화면은 다음과 같다. 7번 째 줄에서 평문과 암호화 키를 찾을 수 있다. 코드 # 복호화 함수 구현 def decoding (encode_str, n): # 암호화문, 암호키 decode_str="" for i in encode_str: # D_str의 글자수만큼 반복 (D_str의 문자열에서 한글자 참조할 수 있음) if (ord(i)>=65 and ord(i)= 97 and ord(i)
한수 시간 제한 : 2초메모리 제한 : 128MB 문제 어떤 양의 정수 X의 자리수가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다. 출력 첫째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력한다. 코드 #include #include main(X,hansu){scanf_s("%d", &X);hansu = 0;for (int i = 1; i
셀프 넘버 시간 제한 : 1초 메모리 제한 : 128MB 문제 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다.양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다. 이런식으로 다음과 같은 수열을 만들 수 있다.33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 12..