본문 바로가기
728x90
반응형

코딩4

[Doit 자료구조와 알고리즘] Ch 1, 2, 3 알고리즘 기초/기본 자료구조와 배열/검색 알고리즘 공부 정리 노트 2024.6.24~ 2024.6.30 목표로 빠르게 개념을 정리하고 자료구조 복습 겸 책을 공부하기로 했다. 노트에 필기하며 정리했다. 오늘은 ch1~3강을 공부했다. Ch1. 알고리즘 기초 알고리즘이란? 반복하는 알고리즘 Ch2 기본 자료구조와 배열 자료구조와 배열 배열이란? Ch3 검색 알고리즘 검색 알고리즘이란? 선형 검색 이진 검색 해시법 파이썬은 인터프리터 언어로, 객체가 힙 영역에 할당된다. 변수는 객체를 복사하는 것이 아닌, 객체를 참조한다. 포인터와 닮아있다고 느꼈다. 자료구조의 전반적인 내용을 복습할 수 있었고, 파이썬 언어에 대해서도 이것이 어떠한 언어인지 다시금 개념을 다잡을 수 있었다. 2024. 6. 24.
부록 A 코딩 테스트를 위한 파이썬 문법 1. 자료형 1. 수 자료형 파이썬의 배열은 튜플/ 리스트 리스트 컴프리헨션( 대괄호에 조건문과 반복을 넣는 방식)으로 리스트를 초기화하자 array = [ [0]* m for _ in range (n) ] m열 n행 2차원 리스트가 생성된다. 2. 문자열 자료형 3. 튜플 자료형 튜플은 한 번 선언된 값을 변경할 수 없다. 소괄호를 이용한다. 그래프 알고리즘 (최단 경로) 구현시 이용한다, 실수로 값을 변경하는 일이 없게 된다. 4. 사전 자료형 dictionory data = { '사과': 'Apple' , '바나나': 'Banana', '포도': 'grape' } 꼴 5. 집합 자료형 중복을 삭제하여 데이터를 담는다. set()함수나 {}중괄호를 이용한다. 2. 조건문 3. 반복문 for문이 더 소.. 2022. 12. 25.
백준 10816번 숫자 카드 2번 시간초과 Counter 내장함수 이용 from collections import Counter N=int(input()) list1=list(map(int,input().split(' '))) list1.sort() M=int(input()) list2=list(map(int,input().split(' '))) count=Counter(list1) for i in range(len(list2)): if(list2[i] in count): print(count[list2[i]],end=' ') else: print(0,end=' ') 10815랑 비슷한 문제 처음에 무지성 for문 했다가 오류날 것 같아서 list.count(3) 함수를 통해 리스트 안의 요소를 세어 출력했다. 그런데 시간 초과가 났다. 모두 탐색해서 그런걸까? 이진탐색을 .. 2022. 8. 20.
백준 2231번 분해합 파이썬 풀이 문제 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가 여러 개인 자연수도 있을 수 있다. 자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 출력 첫째 줄에 답을 출력한다. 생성자가 없는 경우에는 0을 출력한다. 예제 입력 1 복사 216 예제 출력 1 복사 198 1부터 M까지 올라가면서 분해합을 구하.. 2022. 8. 1.
728x90
반응형