본문 바로가기

전체 글69

[Algorithm] Algorithm 소개 알고리즘은 원하는 결과를 생성하기 위해 특정 순서로 수행해야 하는 일련의 명령을 정의하는 단계별 절차입니다. 알고리즘은 일반적으로 기본 언어와 독립적으로 개발됩니다. 즉, 하나 이상의 프로그래밍 언어로 알고리즘을 구현할 수 있습니다. 모호성, 정교함, 효율성 및 언어 독립성은 알고리즘의 일부 특성입니다. 알고리즘의 확장성과 성능은 그 중요성에 기여하는 주요 요인입니다. What is an Algorithm? 알고리즘이라는 단어는 "계산 또는 기타 문제 해결 작업에서 따라야 하는 일련의 유한한 규칙 또는 지침" 또는 "자주 재귀 작업을 포함하는 유한한 수의 단계에서 수학 문제를 해결하는 절차"를 의미합니다. 알고리즘은 컴퓨터가 계산 또는 기타 문제 해결 작업을 수행하기 위해 따라야 하는 일련의 명령입니다... 2023. 11. 4.
복잡도(BigO,시간,공간) 복잡도는 알고리즘이나 데이터 구조의 성능을 분석하거나 비교하는 방법입니다. 주로 시간 복잡도와 공간 복잡도 두 가지를 고려합니다. 1. 시간 복잡도(Time Complexity): 이는 알고리즘이 문제를 해결하는 데 필요한 시간을 의미합니다. 보통 입력의 크기에 따라 얼마나 많은 계산이 필요한지를 측정합니다. 예를 들어, 배열에서 최대값을 찾는 알고리즘의 경우, 배열의 모든 요소를 검사해야 하므로 시간 복잡도는 O(n)이 됩니다. 여기서 n은 배열의 크기입니다.2. 공간 복잡도(Space Complexity): 이는 알고리즘이 문제를 해결하는 데 필요한 메모리 사용량을 의미합니다. 예를 들어, 재귀 함수는 호출될 때마다 스택에 데이터를 저장하므로 공간 복잡도가 증가합니다. 빅 오 표기법(Big O not.. 2023. 10. 21.
반복문과 재귀함수 반복문과 재귀함수는 프로그래밍에서 특정 코드를 여러 번 실행하는 데 사용되는 기본적인 구조입니다. 1. 반복문 (Loops): 반복문은 동일한 코드를 여러 번 실행하려고 할 때 사용됩니다. 가장 일반적인 유형의 반복문에는 for, while이 있습니다.For loop: For loop는 주어진 조건이 충족되는 동안 코드 블록을 반복합니다. 예를 들어, 배열의 모든 요소를 순회하거나 특정 횟수만큼 반복할 수 있습니다.예시:for i in range(5): print(i)While loop: While loop도 주어진 조건이 참인 동안 코드 블록을 계속해서 반복합니다. 예시:i = 0while i 2. 재귀함수 (Recursion): 재귀함수란 함수가 자신을 다시 호출하는 것을 말합니다. 이것은 복잡한 .. 2023. 10. 21.
배열, 문자열에 대해 알아보자 배열이란 무엇일까요?배열은 컴퓨터 과학에서 동일한 타입의 여러 개의 데이터를 하나의 이름으로 그룹하하여 관리하는 데이터 구조입니다.numbers = [1,2,3,4,5]위에 보이는 numbers는 5개의 정수를 저장하고 있는 배열입니다. 배열에는 객체가 저장되고, 그 객체를 원소라고 합니다. 원소는 0, 1, 2...순으로 인덱스를 부여받습니다. 여기서 1에 접근하려면 어떻게 할까요?print(numbers[0]) # 출력: 1 해당 인덱스를 사용해 접근할수있습니다.  배열을 왜 사용할까요? 배열은 다음과 같은 이유로 사용됩니다: 1. 효율적인 메모리 사용:배열은 동일한 타입의 데이터를 저장하기 때문에 메모리 관리가 효율적입니다. 각 요소는 동일한 크기의 메모리 공간을 차지하므로 컴퓨터는 특정 요소의 위.. 2023. 10. 21.
1020 TIL 그래프(Graph): 그래프는 정점(vertex)과 간선(edge)의 집합으로 구성된 수학적 구조입니다. 정점은 객체 또는 개체를 나타내고, 간선은 정점 간의 관계를 나타냅니다. 그래프는 방향 그래프(Directed Graph) 또는 무방향 그래프(Undirected Graph)로 나뉠 수 있으며, 간선에 방향이 있는 경우 방향 그래프, 없는 경우 무방향 그래프라고 합니다. 방향 그래프 (Directed Graph): 방향 그래프는 간선에 방향이 있는 그래프로, 간선은 한 정점에서 다른 정점으로 향하는 방향을 가집니다. 무방향 그래프 (Undirected Graph): 무방향 그래프는 간선에 방향이 없는 그래프로, 간선은 두 정점을 양방향으로 연결합니다. Vertex (정점): 정점은 그래프에서 가장 기.. 2023. 10. 20.
hello, world #include int main(){ print("hello, world\n"); return 0;}hello.c 파일이 어떻게 동작하는가에 대해 이해해보자hello.c파일이 실행되기전에 컴퓨터가 이해할수 있는 인스트럭션들로 번역이 되어야한다.  hello.c는 텍스트 파일이다. 0또는 1로 표시되는 비트들의 연속이며, 바이트라는 8비트 단위로 구성된다. (비트(bit, binary digit)는 하나의 비트는 0이나 1의 값을 가질 수 있고, 각각은 참, 거짓 혹은 서로 배타적인 상태를 나타낸다.바이트는 비트가 여러 개 모인 것이다.8비트 단위로 구성되는 이유는 1개 문자를 처리하는 데 8비트를 사용하기 때문이다. 정보처리의 기본단위로 사용하고 있다. ) Pre-processor(전처리단계, cpp):.. 2023. 10. 14.
정글에서의 3일 [크래프톤 정글] 나는 게으른 사람이다. 따라서 공부를 할 때도 혼자 공부를 하는 것보다는 동료와 함께 공부하는 것이 더 좋다고 생각한다. 취업을 준비하는 동안 공부한다고 했던 것들보다 3일 동안 많은 것들을 배웠다. (DAY1: 17:00 ~ 23:30) (DAY2: 09:40 ~ 25:10) (DAY3: 09:50 ~ 35:58) 많은 코드들과 어려움을 마주했지만 팀원들과 함께 어떤 문제인지 고민하고 해결하며 힘들지만 나름 즐거운 3일을 보냈다. 입소식 이후 바로 팀원들과 함께 프로젝트에 관해 이야기하며 바로 시작된다. 여기 들어오기 전까지 "설마... 진짜 그러겠어?? " 하는 마음이 솔직히 조금은 있었다. 진짜다. ㅎㅎ 어떻게든 완성시키겠다는 마음하나로 팀원들과 함께 정말 열심히 했다. 앞으로 4개월이 조금 넘는 .. 2023. 10. 13.
[Algorithm] Algorithm 특성 이전글: 2023.07.20 - [기초탄탄/Algorithm] - [Algorithm] Algorithm 소개 Clear and Unambiguous: 알고리즘은 명확하고 모호하지 않아야 합니다. 각 단계는 모든 측면에서 명확해야 하며 단 하나의 의미로 이어져야 합니다. Well-Defined Inputs: 알고리즘이 입력을 받도록 지시하는 경우 잘 정의된 입력이어야 합니다. 입력을 받을 수도 있고 받지 않을 수도 있습니다. Well-Defined Outputs: 알고리즘은 산출할 출력을 명확하게 정의해야 하며 잘 정의되어야 합니다. 최소 1개의 출력을 생성해야 합니다. Finite-ness: 알고리즘은 유한해야 합니다. 즉, 유한한 시간 후에 종료되어야 합니다. Feasible: 알고리즘은 사용 가능한.. 2023. 7. 20.
[프로그래머스/programmers] 팩토리얼 문제: i팩토리얼 (i!)은 1부터 i까지 정수의 곱을 의미합니다. 예를들어 5! = 5 * 4 * 3 * 2 * 1 = 120 입니다. 정수 n이 주어질 때 다음 조건을 만족하는 가장 큰 정수 i를 return 하도록 solution 함수를 완성해주세요. i! ≤ n 입력: 정수 n 출력: i! ≤ n 에 만족하는 가장 큰 정수 제한사항: 0 2023. 7. 19.
728x90