Python

코딩하는 대학생에서 개발자까지
백준(S5) 11866번: 요세푸스 문제 0 (파이썬, Python3)
https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 우선 이 문제는 요세푸스 순열을 이해를 해야 풀 수 있는 문제다. 이렇게 사람들이 동그랗게 앉아 있다고 가정해보자. 만약 순서대로 3번째 사람을 제거한다고 문제가 주어지면 제일 먼저 제거되는 사람은 3이다. 그 후, 3이 제거되므로 리스트의 길이도 1 줄어든다. 리스트의 길이를 고려하지 않고 무작정 3번째 인덱스를 pop함수를 이용해 제거한다면 아마 index를 초과했다는 런타임에러 메세지가 나올 것이다. 그러므로 원형큐의 원리를 사용해서 인덱스의 길이로 나눈 나머지를 이용해야 한..
백준(S3) 14425번: 문자열 집합 (파이썬,Python3)
https://www.acmicpc.net/problem/14425 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어 www.acmicpc.net 우선 이 문제는 이진탐색(Binary_search)을 이용한 문제다. 이진탐색을 아직 잘 모른다면 https://solution-is-here.tistory.com/110 [자료구조] 이진탐색(Binary Search) 파이썬으로 마스터 하기 & 백준 10815번: 숫자카드 (파이썬,Python3) 이진탐색은 오름차순으로 정렬된 배열에서 원하는 숫자(Target)를..
[자료구조] 이진탐색(Binary Search) 파이썬으로 마스터 하기 & 백준 10815번: 숫자카드 (파이썬,Python3)
이진탐색은 오름차순으로 정렬된 배열에서 원하는 숫자(Target)를 찾는 정렬 알고리즘입니다. 시간 복잡도는 항상 입니다. 그러므로 시간을 단축할 때 유용하게 사용할 수 있는 알고리즘입니다. 쉽게 이해할수 있게 이미지를 가져왔습니다. 말로 쉽게 표현을 하면 찾는 값(Target)과 중간 인덱스에 있는 값을 비교해서 찾는 값(Target)이 더 작으면 중간 인덱스 기준왼쪽 값과 비교를 하고 크면 오른쪽 값과 비교를 해서 점차 범위를 줄여 나가는 알고리즘입니다. 문제와 함께 설명하겠습니다. https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있..
백준(S4) 18258번: 큐 2 (파이썬, python3)
https://www.acmicpc.net/problem/18258 18258번: 큐 2 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 2,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 우선 이 문제는 큐 문제다. 큐의 특징을 잘 모르시면 문제를 해결하는데 어려움이 있을 수 있어, 간단하게 큐에 대해 설명하고 코드 설명하겠습니다. 큐란? FIFO(First In First Out)의 특징을 가지고 있는 자료구조 중 하나입니다. 그림에서 볼수 있듯이 큐는 rear과 front를 사용해서 fifo의 특징을 유지합니다. Item을 Enqueue(삽입)하게 되면..
백준(S4) 4949번: 균형잡힌 세상 (파이썬, python3)
https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 각 줄은 마침표(".")로 끝난다 www.acmicpc.net 우선 이 문제는 스택 문제이다. 스택의 특징을 잘 모르시면 문제를 해결하는데 어려움이 있을 수 있어, 간단하게 스택에 대해 설명하고 코드 설명하겠습니다. 스택이란? FILO(First In Last Out)의 특징을 가지고 있는 자료구조 중 하나입니다. 그림으로도 확인할수 있듯이 스택에 숫자 1을 넣고 2를 넣으면 pop을 할 때 숫자 2가 먼저 나가는 것을 확인할 수 있습니..
파이썬 마스터 하기 6. 딕셔너리(dictionary)
리스트가 인덱스를 기반으로 값을 저장한다면 딕셔너리는 키를 기반으로 값을 저장합니다. 딕셔너리는 4단계로 나눠서 설명하겠습니다. 1. 딕셔너리 선언하기 2. 딕셔너리의 요소에 접근하기 3. 딕셔너리에 값 추가하기 / 제거하기 4. 딕셔너리 내부에 키가 있는지 확인하기 1. 딕셔너리 선언하기 1 2 3 4 dict_a = { "subject": ["파이썬","자바","C언어"], "wannabe":["카카오","삼성","네카라쿠배"] } Colored by Color Scripter cs 딕셔너리는 중괄호로 선언하며 키 값을 쉼표로 연결해서 만듭니다. subject와 wannabe라는 키를 이용해서 값을 저장했습니다. 2. 딕셔너리의 요소에 접근하기 1 2 3 4 5 6 7 8 dict_a = { "sub..
코딩하는_대학생
'Python' 카테고리의 글 목록 (4 Page)