본문 바로가기
반응형

Python12

삼성청년SW아카데미 12기 모집 (24. 4. 22. ~ 5. 7.) 📌모집 기간: 2024년 4월 22일 ~ 5월 7일 📌교육 기간: 2024년 7월 ~ 2025년 6월 📌지원 자격: 학사이상 요건을 갖춘 자(94년 7월 이후 출생자) 📌지원 캠퍼스: 서울, 대전, 광주, 구미, 부울경 삼성청년SW아카데미 12기 모집이 곧 시작이 된다. 디지털 시대가 되면서 많은 사람이 SW에 대한 공부를 하기 시작했고, 나도 그 중 한 명이었다. 내 생각을 솔직히 말하자면, 금융권을 준비하는 분들이라면 어느정도 메리트가 있을 수 있다고 보지만 절대적인 것은 아니다. 교육을 들으면서 돈도 나오니 안주하게 되는 사람도 생기기도 하고 자신과 핏하지 않은 걸 억지로 하다보니 힘들어 하는 분들도 계셨다. 이러한 모습을 보면서 누군가에게 무작정 "싸피가 좋아, 최고야"라고 추천을 하기가 꺼려지더.. 2024. 4. 18.
4779번 칸토어 | python https://www.acmicpc.net/problem/4779 4779번: 칸토어 집합 칸토어 집합은 0과 1사이의 실수로 이루어진 집합으로, 구간 [0, 1]에서 시작해서 각 구간을 3등분하여 가운데 구간을 반복적으로 제외하는 방식으로 만든다. 전체 집합이 유한이라고 가정하고, www.acmicpc.net 문제 칸토어 집합은 0과 1사이의 실수로 이루어진 집합으로, 구간 [0, 1]에서 시작해서 각 구간을 3등분하여 가운데 구간을 반복적으로 제외하는 방식으로 만든다. 전체 집합이 유한이라고 가정하고, 다음과 같은 과정을 통해서 칸토어 집합의 근사를 만들어보자. -가 3N개 있는 문자열에서 시작한다. 문자열을 3등분 한 뒤, 가운데 문자열을 공백으로 바꾼다. 이렇게 하면, 선(문자열) 2개가 남는다... 2023. 5. 29.
백준 24479번 알고리즘 수업 - 깊이 우선 탐색 1 | python https://www.acmicpc.net/problem/24479 24479번: 알고리즘 수업 - 깊이 우선 탐색 1 첫째 줄에 정점의 수 N (5 ≤ N ≤ 100,000), 간선의 수 M (1 ≤ M ≤ 200,000), 시작 정점 R (1 ≤ R ≤ N)이 주어진다. 다음 M개 줄에 간선 정보 u v가 주어지며 정점 u와 정점 v의 가중치 1인 양 www.acmicpc.net 문제 오늘도 서준이는 깊이 우선 탐색(DFS) 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. N개의 정점과 M개의 간선으로 구성된 무방향 그래프(undirected graph)가 주어진다. 정점 번호는 1번부터 N번이고 모든 간선의 가중치는 1이다. 정점 R에서 시작하여 깊이.. 2023. 1. 26.
백준 1966번 프린터 큐 | python https://www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 문제 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 쌓여서 FIFO - First In First Out - 에 따라 인쇄가 되게 된다. 하지만 상근이는 새로운 프린터기 내부 소프트웨어를 개발하였는데, 이 프린터기는 다음과 같은 조건에 따라 인쇄를 하게 된다.. 2023. 1. 24.
한글 오토마타 만들기 - 3 문자열 변환하기 문자열을 변환하는 작업은 한글로 변환하면서 해당 문자가 초성인지, 중성인지, 종성인지 판단하는 것도 중요하다. 이를 구분하기 위해 5가지로 분류할 수 있는데, 자음만 있는 경우 -> c 초성인 경우 -> l 모음인 경우 -> v 종성인 경우 -> t 로 지정해주고 나머지는 그대로 값을 넣어준다. def MakeHangeul(words: str) -> str: # ----- 중략 ----- # 입력 받은 값을 저장하고 단어 조합하기 위한 값을 저장하는 변수 result, result_state = "", [] idx, n = 0, len(words) # 입력 받은 것을 index에 따라 저장을 # 초성: l, 모음: v, 종성: t, 자음만: c 로 분류하며 저장 while idx < n:.. 2023. 1. 18.
한글 오토마타 만들기 - 2 한글 변환 위한 준비 작업 이제 받아온 문자열에서 영어를 키보드의 한글과 mapping하여 "ㅎㅏㄴㄱㅡㄹ" 같이 만드는 작업을 진행할 것이다. 여기서, 변환 작업을 진행하기 위해서는 키보드 자판의 영어들이 한글의 어떠한 것과 매칭되어 있는지 잘 파악하고 작업을 진행해야 한다. 예시로 "a"는 "ㅁ"과 매칭되어 있으니 "a": 0x3141("ㅁ"의 아스키코드)로 하는 dictionary를 만들어 준다. keyval = { "A": 0, "B": 0, "C": 0, "D": 0, "E": 0x3138, "F": 0, "G": 0, "H": 0, "I": 0, "J": 0, "K": 0, "L": 0, "M": 0, "N": 0, "O": 0x3152, "P": 0x3156, "Q": 0x3143, "R": .. 2023. 1. 18.
한글 오토마타 만들기 - 1 오토마타란? 오토마타는 이산 시간 동안 주어진 입력에 의존해 작동하는 수학적인 기계이다. 기계는 일정 주기마다 입력을 하나씩 받는데, 이를 기호 또는 문자라고 한다. 기계가 입력받는 문자는 정해진 집합의 한 원소여야 하며, 이를 알파벳이라 한다. 기계가 입력받는 일련의 기호와 문자를 문자열이라 한다. 기계는 유한한 상태의 집합을 갖고 있으며, 입력에 따라 현재 상태에서 정해진 다음 상태로 전이한다. 현재 상태와 입력, 다음 상태는 수학적으로 함수 또는 관계로 주어진다. 이를 전이 함수 또는 전이 관계라 한다. 기계는 입력의 끝을 만나거나 특정 상태에 있을 때 정지할 수 있다. 기계는 정지했을 때 문자열을 수용하거나 거부한다. (출처: 위키백과 - 오토마타 이론) 위 설명대로 오토마타 이론은 활용하여 입력.. 2023. 1. 18.
인코딩이란 - 2. base64 Encoding / Decoding 이번에 진행한 base64 인코딩/디코딩은 UTF-8을 기준으로 진행했다. Encoding은 일상 언어를 bits로 변환하는 작업이고, Decoding을 해당 bits를 적절한 언어로 변환하는 작업이다. 기본적으로 문자는 8bits로 이루어져 있고 이를 Encoding을 진행하는 경우, 입력받은 문자를 8bits로 만들고 6bits로 나누어 변환을 진행. Man을 예시로 Encoding을 진행하면, 위 그림처럼 작성이 되고 남는 구간은 0으로 채워 넣는다. 그리고 000000의 문자는 "="으로 padding. Decoding은 위 작업을 반대로 진행하면 된다. Encoding / Decoding 시에는 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz012.. 2023. 1. 18.
백준 13305번 | 주유소 - python https://www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 문제 어떤 나라에 N개의 도시가 있다. 이 도시들은 일직선 도로 위에 있다. 편의상 일직선을 수평 방향으로 두자. 제일 왼쪽의 도시에서 제일 오른쪽의 도시로 자동차를 이용하여 이동하려고 한다. 인접한 두 도시 사이의 도로들은 서로 길이가 다를 수 있다. 도로 길이의 단위는 km를 사용한다. 처음 출발할 때 자동차에는 기름이 없어서 주유소에서 기름을 넣고 출발하여야 한다. 기름통의 크.. 2022. 11. 9.
반응형