분류 전체보기 115

[Python] Advent of Code 2022 - Day 7

Part One 이번 인풋에는 폴더를 탐색하는 커맨드가 한 줄 씩 적혀있고, 현재 읽고 있는 폴더 트리에서 폴더의 크기가 100,000 이하인 것들의 데이터 크기의 합을 구해내는 게 이번 과제이다. 일단 파일경로를 파악하기 위해 폴더 트리를 만들어야 했고 어떤 데이터 타입으로 만들까 하다 nested dictionary로 정하였다. 단순히 값을 나열해야하는 게 아니라 어떤 경로를 가진 어떤 폴더에 얼만큼의 파일이 있는지 알아내야 했기 때문이다. 예시에 나온 폴더로 예상 폴더 트리의 모습을 짜보자면, nested_dict = { "a": { "e": { "i" : 584 }, "f": 29116, "g": 2557, "h.lst" : 62596 }, "b.txt": 14848514, "c.dat": 850..

[Python] Advent of Code 2022 - Day 6

Part One 일련의 알파벳들로 구성된 엄청 긴 한 줄의 string자료를 앞에서부터 네 개 씩 묶어보며, 그 네 개의 알파벳들 중 겹치는 알파벳이 존재하는 지 (예: ['a', 'b', 'b', 'c']) 확인하고 모든 알파벳이 다르게 구성되어있는(예: ['a', 'b', 'c', 'd']) 가장 첫 번째 지점의 "인덱스+1" 를 구하는 문제이다. file = open("input/day6.txt", "r") letters_data = file.read() check = [] # 1 for i in range(4): check.append(letters_data[i]) # 2 for j in range(len(letters_data) - 4): if len(set(check)) != 4: del ch..

[Python] Advent of Code 2022 - Day 5

Part One 각 숫자 라인에 담겨있는 요소들이 정해진 순서에 따라 정해진 개수가 왔다갔다 해야하는 과제. 최종적으로 가장 윗라인에 있는 알파벳들을 읽어내야 한다. (예: 현재 위의 표에서는, FFQJWWFBW) file = open("input/day5.txt", "r") crates_data = file.read().splitlines() # 1 temp_list = [] crates_list = [] a = 1 for j in range(9): for i in range(0, 8): if crates_data[i][a] != " ": temp_list.append(crates_data[i][a]) crates_list.append(temp_list) a += 4 temp_list = [] # 2 ..

[Python] Advent of Code 2022 - Day 4

매 라인마다 두 숫자 그룹(ex. 1-4, 6-10)이 있고, 한 숫자 그룹이 다른 숫자 그룹에 완전히 속해있는 경우(ex. 3-5, 1-10)가 총 몇 개 있는지 알아내는 문제. Part One file = open("input/day4.txt", "r") data_list = file.read().splitlines() pairs_list = [] # 1 for data in data_list: list = data.split(",") pairs_list.append(list) temp_number_list = [] new_pairs_list = [] # 2 for pairs in pairs_list: for pair in pairs: number = pair.split("-") temp_number..

[Python] Advent of Code 2022 - Day 3

Part one 대문자/소문자 알파벳이 섞인 string들을 다 반 씩 나누고 그 각각의 절반에 공통으로 들어있는 알파벳을 구해내어, 알파벳에 해당하는 숫자값들의 합을 구하는 문제. import string # 1 file = open("input/day3.txt", "r") rucksacks_list = file.read().splitlines() character_list = [] # 2 for rucksack in rucksacks_list: first, second = rucksack[:len(rucksack)//2], rucksack[len(rucksack)//2:] # 3 for character in first: if character in second: character_list.appen..

[Python] Advent of Code 2022 - Day 2

문제: 엘프들과 내가 가위바위보를 해야한다. 어떤 엘프가 나에게 공략집을 주었고 그 공략집에는 엘프들이 낼 것과 내가 내야할 것들이 적혀있다. 다음과 같은 점수체계가 적용되고 공략집에 써져있는 대로 게임이 진행된다면 나는 몇 점을 얻을 것인가? 엘프들이 내는 것: A(바위), B(보), C(가위) 내가 내는 것: X(바위), Y(보), Z(가위) 점수 = 내가 낸 것 + 승패 내가 낸 것: 바위(1점), 보(2점), 가위(3점) 승패: 승(6점), 비김(3점), 패(0점) 일단 경우의 수들을 하나하나 다 계산해보았다. A X (draw) = 1 + 3 = 4 A Y (win) = 2 + 6 = 8 A Z (lose) = 3 + 0 = 3 B X (lose) = 1 + 0 = 1 B Y (draw) = 2..

[Python] Advent of Code 2022 - Day 1

첫 번째 날 문제는, 엄청 많은 숫자들이 적혀있는 파일을 갖고 숫자들 한 묶음씩마다 합을 계산한다음 가장 큰 수를 골라내야 하는 것이었다. # 1 file = open("input/day1.txt", "r") number_list = file.read().splitlines() # 2 str_list = [] each_str_list = [] for number in number_list: each_str_list.append(number) if number == "": str_list.append(each_str_list) each_str_list = [] # 3 for list in str_list: if "" in list: list.remove("") # 4 sum_list = [] sum = 0..

[독일어] 통합 개발 환경 Entwicklungsumgebung (IDE)

IDE (Integrated development environment) 는 코딩, 디버그, 컴파일, 배포 등 프로그램 개발에 관련된 모든 작업을 하나의 프로그램 안에서 처리(ohne Medienbrüche)하는 환경을 제공하는 소프트웨어이며 자주 반복되는 작업(häufig wiederkehrende Aufgaben)을 덜어주고(abnehmen) 개별 기능에 대한 빠른 액세스를 제공하는 툴(Werkzeuge)을 제공한다. IDE를 통해 개발자는 형식적인(formal) 작업에서 해방되고 중복되거나(redundant) 불필요한(überflüssig) 작업 단계(Arbeitsschritte) 없이 효율적으로 프로그래밍할 수 있다. IDE에는 일반적으로 다음 구성 요소들이 있다. 1. Texteditor 텍스트..

[독일어] 프로그래밍 언어의 종류

1. Assemblersprache 어셈블리어 (assembly language) 기계어와 일대일 대응이 되는 컴퓨터 프로그래밍의 저급 언어이다. 컴퓨터 구조에 따라 사용하는 기계어가 달라지며, 기계어에 대응되어 만들어지는 어셈블리어도 가각 다르게 된다. (Jede Computerarchitektur hat ihre eigene Assemblersprache) 어셈블리어가 공통적으로 갖고 있는 기능: 데이터 읽기 및 쓰기, 간단한 수학 및 논리 연산(Operationen), 간단한 프로그램 흐름 제어(Programmflusskontrolle), 입력과 출력 * 예시: Assemblur-Linux, Microsoft Macro Assembler section .data msg db "Hello World!..

[독일어] 소프트웨어 기본 용어 2

Spzielle Software 특별한 소프트웨어 1. Produktionsplanung- und Steuerungssystem (PPS) 생산 기획 및 제어 시스템 상품 생산에 필요한 모든 프로세스(Vorgänge)의 관리와 운영(operativ), 시간(zeitlich), 공간(räumlich)의 계획을 다룬다. 2. Content Management System (CMS, = Inhaltsverwaltungssystem) 저작물 관리 시스템 저작물 관리에 사용하는, 디지털 콘텐츠(digitaler Inhalte)의 생성(Erstellung), 편집(Bearbeitung), 구성(Organisation) 및 Darstellung을 위한 소프트웨어이다. 디지털 콘텐츠는 텍스트 및 멀디미디어 문서(Tex..

320x100