분류 전체보기 (37) 썸네일형 리스트형 파이썬 (5) 완전탐색장점: 반드시 답을 찾을 수 있다.전부 살펴봤을때 답이 없을 시 답이 존재하지 않는다는 사실 자체를 알아낸 것이다단점: 리소스를 많이 잡아먹는다. 브루트포스무차별 대입이라고도 하며 모든 경우의 수를 대입해보는 방법이다.가장 확실한 방법이라 의외로 많이 쓰인다. 순열모든 경우의 수를 살펴볼 때 용이하다조합 탐욕법 (Greedy)매 순간마다 최선의 경우를 골라가는 방법. 다른 경우는 고려하지 않고 나중도 생각하지 않는다.완전탐색보다 빠르지만 어떤 경우가 최선인지 찾는게 포인트이다. 파이썬 (4) 문자를 원소로 갖는 배열몇 번째 index에 있는지를 저장해줄 idx라는 변수를 사용해 다음과 같이 코드를 작성해 볼 수 있습니다. 이때, index를 구해야 하기 때문에 for loop에서 i를 이용해야 합니다.이미 존재하는 원소가 list의 어느 index에 있는지는 index() 함수를 이용해 볼 수 있습니다.특정 원소의 갯수cnt라는 변수를 사용해 리스트 ['A', 'P', 'P', 'L', 'E'] 안에 문자 'P'가 몇 번 들어있는지는 어떻게 알 수 있습니다주어진 숫자들 중 최댓값 구하기최댓값은 max_val 이라는 변수를 사용하여 다음과 같이 구해볼 수 있습니다. 지금까지 구한 최댓값인 max_val이라는 값보다 현재 값인 elem이 더 큰 경우라면, 최댓값을 갱신한다는 개념이 핵심입니다.공.. 파이썬 (3) 정사각형 출력직각삼각형 출력 앞에 공백이 붙는 경우행에 따라 모양이 다른 경우cnt를 이용하여 숫자 채우기다음과 같이 i, j에 대한 규칙이 아닌, for loop이 진행됨에 따라 cnt 값을 계속 1씩 증가시키는 방식으로 해결해볼 수 있습니다.구구단패턴을 살펴보니, a * b = c 형태에서 a는 행이 증가함에 따라 1씩 늘어나고, b는 열이 증가함에 따라 1씩 늘어나는 것을 확인할 수 있습니다. i, j를 1부터 시작하는 코드를 작성하면, i * j = i * j 형태로 위의 모양을 만들어 낼 수 있습니다.Listmap을 이용하면 리스트에 있는 원소 type을 전부 변환한 이후의 리스트를 반환할 수 있습니다.List 거꾸로 탐색비어있는 리스트는 다음과 같이 만들 수 있습니다.append 함수를 이용하.. 파이썬 (2) for loop의 포맷은 다음과 같습니다. 보통 i라는 변수를 이용하여 for loop을 진행하게 되고, 원하는 범위 [a, b)를 돌기 위해 range 함수를 사용하게 됩니다. 이 경우 a부터 b - 1까지 i라는 변수에 순서대로 값이 채워지게 됩니다. b에 등호가 들어가지 않음에 꼭 유의합니다. for문 뒤에는 꼭 :를 적어줘야만 함에 유의합니다.for loop에서 range(a, b)가 a부터 b - 1까지 1씩 증가하는 역할을 했다면, range(a, b, 2)는 a부터 b - 1까지 2씩 증가하며 뛰는 역할을 하게 됩니다. while loop의 포맷은 다음과 같습니다. while은 항상 조건과 같이 쓰이며, while 안의 코드는 해당 조건을 만족하는 경우에만 반복하여 수행하는 형태를 띄고 있습.. 파이썬 1. f문자열 포맷변수 이름을 그대로 문자열에 쉽게 옮길 수 있는 방법으로, format 함수와 유사하지만 별도의 함수 이용 없이 문자열 앞에 f를 붙이고 변수 이름을 중괄호{}로 감싸면 원하는 변수를 해당 위치에 넣어줄 수 있게 된다. 2.소숫점 출력-> 33.5673 3. 입력입력값에 따라 출력값이 다르게 나온다문자열 형식으로 출력되기 때문에 int(), float()등을 활용해주어야 한다. 4. split 함수python에서 split() 함수는 기본적으로 공백을 사이에 두고 문자열을 잘라주는 함수이다만약 공백이 아닌 : 문자를 기준으로 문자열을 잘라주기 위해서는, 다음과 같이 split 함수 안에 해당 문자를 적어주면 된다5. if 조건문if 조건문의 포맷은 다음과 같다 조건을 만족하는 경우에만 .. 알고리즘 1. 순차 탐색 알고리즘리스트에 있는 첫 번째 자료부터 하나씩 비교하면서 같은 값이 나오면 그 위치를 결과로 돌려주고, 리스트 끝까지 찾아도 같은 값이 나오지 않으면 -1을 돌려주면 됩니다.2. 선택 정렬 알고리즘주어진 리스트 안의 자료를 작은 수부터 큰 수 순서로 배열하는 선택 정렬 알고리즘3. 일반적인 선택 정렬 알고리즘처리할 대상 범위에서 최솟값을 찾아 그 범위의 맨 앞에 있는 값과 바꾸는 알고리즘4. 삽입 정렬 알고리즘5. 일반적인 삽입 정렬 알고리즘일반적인 삽입 정렬은 처리할 대상 범위에 있는 맨 앞 값을 적절한 위치에 넣는 과정을 반복한다. 자료구조 1. 배열삽입/삭제 : O(N), 탐색 : O(1)2. 벡터삽입/삭제 : O(N), 탐색 : O(1)3. 연결 리스트삽입/삭제 : O(1), 탐색 : O(N) 4. 스택삽입/삭제 : O(1)선입후출, 후입선출 5. 큐삽입/삭제 : O(1)선입선출, 후입후출 6. 우선순위 큐삽입/삭제 : O(logN) 7. 맵Key, Value (중복 X)삽입/삭제 : O(1) -> 파이선 8. 집합중복 X 컴퓨터구조 (2) 2진수의 연산- 2진 정수의 덧셈 연산1. 오버플로우가 발생하지 않는 덧셈 연산양수와 양수의 덧셈에선 최상위 비트에서 자리올림이 발생하지 않아 계산결과에서 오류가 발생하지 않음최상위 비트에서 자리올림이 발생하지 않는 음수와 양수의 덧셈에서도 마찬가지이다 최상위 비트에서 자리 올림이 발생하는 음수와 양수의 덧셈에서는덧셈 결과로 발생하는 최상위 비트에서 자리 올림 수는 버린다.ex) 음수와 음수의 덧셈에서 필연적으로 최상위 비트에서 자리올림이 발생하고 자리 올림 수를 버리면 된다. 2. 오버플로우가 발생하는 덧셈 연산덧셈 결과가 표현할 수 있는 범위를 초과하여 결과값이 틀리게 되는 현상을 오버플로우 상태라고 한다.양수와 양수의 덧셈에서는 부호 비트가 변경되고 잘못된 결과가 발생하고음수와 음수의 덧셈에서는 자.. 이전 1 2 3 4 5 다음