자료구조와 알고리즘 4

자료구조 (Data Structure)

개인 공부 목적으로 쓰는 글이기 때문에 틀린 부분이 있을 수 있습니다. 자료구조(Data Structure)의 정의 Data란 사실(fact)을 나타내는 수치이다. 예를 들면 오늘 아침의 기온, 습도, 날씨, 친구에게 보내는 편지의 말, 사진 속 이미지, 노래의 음표 등 모든 종류의 사실들이 컴퓨터의 데이터가 될 수 있다. 자료구조란 이러한 Data들을 메모리에 구조적으로 정리해서 담아두고, 효율적인 방식으로 필요한 데이터에 빠르게 접근하고 수정, 삽입, 삭제를 할 수 있도록 도와주는 것이다. 자료구조의 분류 단순 구조 : 정수, 실수, 문자, 문자열과 같이 컴퓨터가 기본적으로 제공하는 자료형 선형 구조 : 자료들 상호 간에 1:1 대응 관계가 성립하는 형태, 각 자료들은 앞뒤 관계가 순차적으로 고정되어..

알고리즘 (Algorithm)

알고리즘(Algorithm)의 정의 작업을 수행하거나 주어진 문제를 해결하기 위한 일련의 적절하고 단계적인 절차 제한된 공간과 시간안에서 데이터를 어떻게 처리할 것인지를 정의해놓은 로직 표현 및 저장된 데이터를 대상으로 하는 '문제의 해결 방법'을 뜻한다. 일상생활에서의 다양한 문제를 예로 들 수 있다. 요리의 레시피대로 요리를 진행하는 것, 자판기에서 음료수를 뽑아 먹기 위한 과정, 인터넷에서 원하는 물건을 주문하기 위한 과정 등을 알고리즘이라고 할 수 있다. 알고리즘의 특성 입력 : 알고리즘 수행에 필요한 자료가 외부에서 제공될 수 있다. 출력 : 알고리즘 수행으로 반드시 하나 이상의 출력 결과가 있어야 한다. 명확성 : 알고리즘의 각 단계는 무엇을 하기 위한 것인지 명확하게 정의되어야 한다. 유한성..

[백준 알고리즘] 2839번 : 설탕배달 c# 문제풀이

2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 풀이 나올 수 있는 경우의 수는 총 4가지다. 1. 5kg, 3kg 봉지를 모두 사용한 경우. 2. 5kg 봉지만 사용한 경우 3. 3kg 봉지만 사용한 경우 4. 나누어 떨어지지 않는 경우 (-1 출력) 1,2,3번의 경우 5kg이 3kg보다 많아야 하기 떄문에 먼저 5로 나눠서 나머지가 0인 경우를 찾는다. 나머지가 0이라면 그대로 종료하고 0이 아니라면 3kg 봉지를 무조건 1개 이상 사용하는 경우기 때문에 3kg 봉지의 개수를 1씩 더해준다. 반복해서 진행하다보면 ..

[백준 알고리즘] 1193번 : 분수찾기 c# 문제풀이

문제 링크 : https://www.acmicpc.net/problem/1193 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net 풀이 문제에 적힌 순서를 따라가다보면 규칙을 발견할 수 있다. 아래 그림과 같이 대각선 방향으로 순서가 정해진다. 홀수번째 대각선은 분자가 +1, 분모는 -1이 된다. 반대로 짝수번째 대각선은 분자는 -1, 분모는 +1이 된다. 따라서 입력받는 숫자가 몇번째 대각선에 포함되는지와 해당 대각선에서 몇번째에 위치한 값인지 알 수 있다면 결과를 출력할 수 있다. class Program { static void Main(string[] args) { string X = Console.ReadLine(); int x = ..