본문 바로가기

분류 전체보기151

[Swift] 백준에서 readLine() 메서드로 입력 받기 백준에서 Swift 언어로 문제를 풀 때, 입력을 어떻게 받아야 할까? Swift의 표준 입력 함수 readLine()에 대해 알아보자. 주어진 조건(띄어쓰기 여부 등)에 따라 입력 받은 문자열을 어떠한 자료형으로 변환할지 알아 보자. 📌 요약 이후 설명은 아래의 개발자 공식 문서에서 직접 번역했다. readline(strippingNewline:) | Apple Developer Documentation readLine(strippingNewline:) Returns a string read from standard input through the end of the current line or until EOF is reached. 현재의 줄 끝까지 또는 EOF와 마주할 때까지 표준 입력으로부터 문자.. 2023. 3. 16.
[백준] (Swift) 11382번: 꼬마 정민 📌 문제 11382번: 꼬마 정민 📌 풀이 주어진 입력을 배열로 할당하고 배열의 요소들을 세 개의 변수로 각각 할당하여 합을 구하고 그 합을 출력하면 되는 문제이다. 다른 풀이를 보니 reduce 함수를 이용해서 푼 경우도 있는데, 한번 공부해서 포스팅을 해 봐야겠다. 📌 코드 import Foundation // 입력된 세 가지 문자열을 3개의 정수형 요소를 가진 배열로 할당 let input = readLine()!.split(separator: " ").map{ Int(String($0))! } // 할당된 배열의 각 요소를 A, B, C로 할당 var A = input[0] var B = input[1] var C = input[2] // A, B, C의 합을 변수 sum에 할당 var sum =.. 2023. 3. 15.
큐(Queue) in Python 목차 머리말 들어가기 전에 학습 목표 선형 자료구조에서 두 번째로 알아볼 것은 큐(queue)이다. 큐의 정의와 특징에 대해 살펴보고, 파이썬으로 구현해 보자. 이전 포스팅 - 스택 스택(stack) in Python 큐(Queue) 정의 큐를 사전에서 찾아보면 (무엇을 기다리는 사람, 자동차 등의) 줄이라는 뜻의 단어이다. 위의 사진처럼 기다리는 사람의 줄이 대표적인 큐이다. 큐(queue)는 "뒤"라고도 불리는 한쪽 끝에서 새 요소가 추가되고, 흔히 "앞"이라고도 불리는 다른 쪽 끝에서 이미 있는 요소가 제거되는 선형 자료 구조이다. A queue is a linear data structure where the first element is inserted from one end, called th.. 2023. 3. 15.
[알고리즘] 재귀(Recursion)와 콜 스택(Call Stack) 알고리즘 이론에서 기본이며, 분할 정복이나 백트래킹 같은 여러 알고리즘의 기반을 맡고 있는 재귀(recursion)는 무엇일까? 이에 대해 자세히 알아 보자. 📌 정의 In computer science, recursion is a method of solving a computational problem where the solution depends on solutions to smaller instances of the same problem. Recursion solves such recursive problems by using functions that call themselves from within their own code. The approach can be applied to many.. 2023. 3. 14.
[알고리즘] 삽입 정렬(Insertion Sort) in Python 카드 놀이를 할 때 나도 모르게 카드를 정렬한 적이 있는가? 그때 어떠한 방식으로 정렬을 했는지 생각해 보자. 정렬 알고리즘에서 세 번째로 배워 볼 것은 바로 삽입 정렬이다. 삽입 정렬이 어떻게 동작하는지 알아 보고 실제 코드로 구현해 보자. 📌 정의 Insertion sort is a simple sorting algorithm that works similar to the way you sort playing cards in your hands. The array is virtually split into a sorted and an unsorted part. Values from the unsorted part are picked and placed at the correct position in .. 2023. 3. 13.
[알고리즘] 선택 정렬(Selection Sort) in Python 정렬 알고리즘에서 두 번째로 배워 볼 것은 선택 정렬이다. 선택 정렬은 어떻게 동작하는지 알아 보고 실제 코드로 구현해 보자. 📌 정의 Selection sort is a simple and efficient sorting algorithm that works by repeatedly selecting the smallest (or largest) element from the unsorted portion of the list and moving it to the sorted portion of the list. 선택 정렬은 리스트(배열)의 정렬되지 않은 부분에서 가장 작은(혹은 가장 큰) 요소를 반복적으로 선택하여, 리스트의 정렬된 부분으로 옮기는 방식의 간단하고 효율적인 정렬 알고리즘이다. Sele.. 2023. 3. 12.
스택(Stack) in Python 목차 머리말 들어가기 전에 선형 자료구조(linear data structure) 중에서 스택(stack)에 대해 알아 보자. 스택(stack)을 사전에서 찾아보면 무더기, 더미라는 뜻의 영단어이다. 아래의 돌탑이 대표적인 스택이다. 스택 Stack 정의 A stack is an ordered list in which insertions and deletions are made at one end, called the top. 스택(stack)은 상단이라 불리는 한쪽 끝에서 삽입과 삭제가 이루어지는 선형적 자료구조이다. Data Structures & Algorithms - Stacks & Queues 특징 스택은 밑에서 점차 위로 쌓아올리는 선형적 자료구조이다. 위의 돌탑에서 알 수 있듯이, 쌓아올리든.. 2023. 3. 11.
[알고리즘] 버블 정렬(Bubble Sort) in Python 정렬 알고리즘 중에서 가장 직관적이고 간단한 버블 정렬에 대해 알아보자. 그리고 버블 정렬이 어떻게 동작하는지 배우고 이를 코드로 구현해 보자. 📌 정의 Bubble sort, sometimes referred to as sinking sort, is a simple sorting algorithm that repeatedly steps through the input list element by element, comparing the current element with the one after it, swapping their values if needed. 가라앉는 정렬이라고도 불리는 버블(거품) 정렬은, 입력된 리스트의 요소 별로, 현재 요소를 바로 다음의 요소와 비교를 하는데, 필요에 따라 서.. 2023. 3. 10.
[알고리즘] 정렬 알고리즘(Sorting Algorithms) 개요 📌 서문 알고리즘 강의에서, 대개 정렬 알고리즘을 가장 먼저 배운다. 정렬 알고리즘은 무엇이고, 왜 공부하는 것이며 강의 초반에 배우는 것일까? 📌 정의 In computer science, a sorting algorithm is an algorithm that puts elements of a list into an order. 컴퓨터 과학에서, 정렬 알고리즘은 하나의 리스트(배열)의 요소들을 일정한 순서에 맞게 분류하는 것을 의미한다. Sorting algorithm - Wikipedia 📌 학습 목적 1. 정렬 알고리즘은 주어진 데이터를 처리하는 알고리즘의 기초가 되는 문제 중 하나이다. 일상에서 주어진 데이터의 집합을 어떠한 규칙으로 나열하는 것(알파벳순, 내림차순, 오름차순 등)을 쉽게 접할 .. 2023. 3. 9.
[Swift] 변수와 상수(Constants and Variables) Swift 공부의 첫 걸음! 변수와 상수는 프로그래밍 언어에서 가장 기본적인 내용 중 하나이다. 📌 개요 상수와 변수는 한자어에서 이미 그 의미를 갖고 있다. 상수와 변수는 항상(常) 일정한 수(數)와 변(變)할 수 있는 수(數)라는 뜻을 함축하고 있다. 하지만, 일상적인 의미의 변수는 상수를 포함하고 있다. 엄밀히 말하면 변수와 상수는 구분되는 말이지만, '변수'라는 말을 언급할 때는 상수를 크게 구분하지 않는다. 📌 상수(constant) 상수의 리터럴은 let을 사용하여 원하는 이름에 값을 할당할 수 있다. let myHometown = "Seoul" let yourHometown = "Busan" 상수의 특징은 불변성(immutability)으로 한 번 할당되면 두 번 다시 할당될 수 없다. 이미.. 2023. 3. 8.
반응형