전체 글(185)
-
알고리즘 기본 개념
1. 알고리즘과 자료구조 자료구조는 효율적으로 데이터를 저장하는 구조이며, 알고리즘은 저장한 데이터로 문제를 효율적으로 푸는 방법을 의미한다. 따라서 자료구조와 알고리즘의 특성을 파악해 해결해야할 문제에 따라 적절한 자료구조와 알고리즘을 선정해야 한다. 1 ) 자료 구조 자료 구조 : 컴퓨터에서 데이터를 효율적으로 관리하고 구조화시키는 방법 - 자료구조에서 중점적으로 봐야 할 특성 * 데이터의 순서가 보장되는가 * 중복 데이터가 저장되는가 * 검색 효율성 * 수정 효율성 - 자료구조의 종류 2 ) 알고리즘 알고리즘 : 어떤 문제를 해결하기 위한 절차, 방법, 명령어들의 집합 - 알고리즘에서 신경써야 할 부분 * 효율성 => 시간 복잡도, 공간 복잡도 * 정확도 2. 알고리즘의 효율성 측정 알고리즘의 효율..
2023.02.05 -
1월 2주차 코딩일지
2023.01.09 # 막대기 - 백준 1094번 https://www.acmicpc.net/problem/1094 1094번: 막대기 지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대 www.acmicpc.net X = int(input()) i = 6 cnt = 0 while True: if X != 0: if X >= 2**i: X-= 2**i cnt += 1 else: i-=1 else: break print(cnt) # 괄호 - 백준 9021번 스택 알고리즘 https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호..
2023.01.21 -
EC.CREW 3기 2주차 - 스택, 큐, 덱 알고리즘
!EC.CREW 3기 합격! 짝짝짝 이번에는 경쟁률이 정말 어마무시해서 지원해놓고서 엄청 긴장했는데 운좋게 붙었다 히히 겨울 방학도 EC.CREW랑 갓생 살자ㅏㅏ 2주차 주제 : 스택, 큐, 덱 알고리즘 스택, 큐, 덱 알고리즘 정리 https://sosoeunii.tistory.com/21 [ 스택 큐 덱 ] 0. 의 기본 구조 스택, 큐, 덱은 추상 자료형(Abstract Data Type) 이다. 즉, 구현 방법이 따로 명시되어 있지 않은 것이다. (자료구조의 방법이 코드로 정의되지 않음) 그렇다면 스택, 큐, sosoeunii.tistory.com # 1 오큰수 - 백준 17298번 https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째..
2023.01.21 -
[ 자료구조 ] 스택 큐 덱
1. 개념 스택, 큐, 덱은 데이터의 삽입과 삭제가 제한된 위치에서만 이루어지기 때문에Restricted Data Structure(제한된 자료구조)라고 불린다 1 ) 스택 스택은 선입후출( LIFO : Last In First Out ) 규칙을 갖고 있다.스택 가장 위에 자리한( 가장 마지막에 저장한 ) 데이터의 위치를 top이라고 하며스택 안에 데이터를 넣는 것을 push, 삭제하는 것을 pop 이라고 한다push와 pop은 항상 top에서 이루어진다 top이 0보다 작아지는 순간 스택은 empty 상태라고 할 수 있고top이 배열의 max size보다 커지는 순간 스택은 full 상태라고 할 수 있다 Python에서는 리스트를 이용해서 구현하면 된다pop() : 데이터 삭제append(data..
2023.01.19 -
1월 1주차 코딩일지
2023.01.05 # 나누기 - 백준 1075번 https://www.acmicpc.net/problem/1075 1075번: 나누기 첫째 줄에 N, 둘째 줄에 F가 주어진다. N은 100보다 크거나 같고, 2,000,000,000보다 작거나 같은 자연수이다. F는 100보다 작거나 같은 자연수이다. www.acmicpc.net N = int(input()) F = int(input()) for i in range( N//100 * 100, N//100 * 100 + 100): if i % F == 0: num = str(i % 100) print(num.zfill(2)) break * zfill() 함수는 string일 때만 사용 가능 # 단어 나누기 - 백준 1251번 https://www.acmi..
2023.01.08 -
EC.CREW 2기 3차 팀 대항전
EC.CREW 2기 마지막 날 팀 대항전을 진행했다 팀 대항전에서 내가 푼 문제들 + 집에 돌아와서 푼 문제들 # 2 약수 구하기 https://www.acmicpc.net/problem/2501 2501번: 약수 구하기 첫째 줄에 N과 K가 빈칸을 사이에 두고 주어진다. N은 1 이상 10,000 이하이다. K는 1 이상 N 이하이다. www.acmicpc.net N, K = map(int,input().split()) numlist = [] for i in range(1,N+1): if( N%i == 0 ): numlist.append(i) if len(numlist)
2022.11.28