자료구조(52)
-
백준 온라인 저지, 자료구조 / 1546번: 평균 (파이썬 / 백준 브론즈문제)
문제 주소: https://www.acmicpc.net/problem/1546 문제 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다. 예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다. 세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0..
2022.05.27 -
백준 온라인 저지, 자료구조 / 5568번: 카드놓기 (파이썬 / 백준 실버문제)
문제 주소: https://www.acmicpc.net/problem/5568 문제 상근이는 카드 n(4 ≤ n ≤ 10)장을 바닥에 나란히 놓고 놀고있다. 각 카드에는 1이상 99이하의 정수가 적혀져 있다. 상근이는 이 카드 중에서 k(2 ≤ k ≤ 4)장을 선택하고, 가로로 나란히 정수를 만들기로 했다. 상근이가 만들 수 있는 정수는 모두 몇 가지일까? 예를 들어, 카드가 5장 있고, 카드에 쓰여 있는 수가 1, 2, 3, 13, 21라고 하자. 여기서 3장을 선택해서 정수를 만들려고 한다. 2, 1, 13을 순서대로 나열하면 정수 2113을 만들 수 있다. 또, 21, 1, 3을 순서대로 나열하면 2113을 만들 수 있다. 이렇게 한 정수를 만드는 조합이 여러 가지 일 수 있다. n장의 카드에 적힌..
2022.05.24 -
백준 온라인 저지, 자료구조 / 1302번: 베스트셀러 (파이썬 / 백준 실버문제)
문제 주소: https://www.acmicpc.net/problem/1302 문제 김형택은 탑문고의 직원이다. 김형택은 계산대에서 계산을 하는 직원이다. 김형택은 그날 근무가 끝난 후에, 오늘 판매한 책의 제목을 보면서 가장 많이 팔린 책의 제목을 칠판에 써놓는 일도 같이 하고 있다. 오늘 하루 동안 팔린 책의 제목이 입력으로 들어왔을 때, 가장 많이 팔린 책의 제목을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고, 알파벳 소문자로만 이루어져 있다. 출력 첫째 줄에 가장 많이 팔린 책의 제목을 출력한다. 만약 가..
2022.05.22 -
자료구조 구현 (1), Unsorted list
Unsorted list 구현 C++을 통해서 Unsorted list를 구현했다. 특히 ItemType, Unsorted list, Application을 세 파트로 나누어 코드를 구현했다. Unsorted list는 각 요소로서 ItemType을 포함하고 있고, Application에서 Unsorted list를 객체로 사용했다. 또한 각각의 파트는 헤더와 cpp 파일을 구분해 각각 구현했다. 해당 실습에서의 특징적인 점은 Unsorted list를 Linked list가 아닌 Array list로 구현했다. 이에 따라 데이터 삽입, 삭제하는 방법이 다르니 이를 고려하여 코드를 확인하면 좋을 것 같다. 1. ItemType 1) ItemType h #ifndef _ITEMTYPE_H #define _..
2022.05.11 -
자료구조 (5), Stack and Queue
Stack and queue 1. Stack이란? 1) Stack이란? 항목의 제거 및 추가가 Stack의 상단에서만 발생할 수 있는 정렬된 동족 항목의 그룹 - 같은 데이터 타입의 자료구조만 모아서 사용한다. - Stack은 LIFO (Last In Fisrt Out) 구조이다. cf) 메모리 상에서의 Stack: 지역변수를 저장하는 공간 cf) Call Stack: 함수를 호출할 때 추적하는 것을 의미하는데 함수가 호출될 때 스택 구조로 쌓이기 때문에 이를 Call Stack이라고 한다. 2) 멤버 함수 구현 시 주의 사항 - 요소를 pop할 때는 실질적으로 요소를 삭제할 필요가 없이 top의 위치만 조정하면 된다. 메모리 상에는 남아있지만 이를 사용할 수는 없다. - pop 메소드는 마지막 데이터를..
2022.04.19 -
자료구조 (4) ADTs Unsorted List and Sorted List
ADTs Unsorted List and Sorted List 자료구조 멤버변수와 멤버함수로 나눠서 내부적으로 특정한 연산을 통해 어떤 특성을 유지할 수 있도록 하는 것 1. 추상화 자료형 1) ADT 개념 - 구현과의 의존성이 없이 데이터의 특징을 정의하는것이다. - 슈도코드와 같이 문법적인 제한이 없이 흐름도를 통해 표현할 수 있다. - 데이터의 특징: 영역과 연산 2) 데이터의 세가지 레벨 응용 레벨 -> 논리 레벨 -> 구현 레벨 (1) 응용 레벨: 실생활에서 사용할 수 있는 자료의 레벨, 정보가 모여있는 곳 (2) 논리 레벨: 자료의 범위와 연산의 추상적인 관점 (3) 구현 레벨: 자료를 저장하기 위한 구조의 표현명세 및 연산을 위한 코딩 3) ADT 연산자 - 객체를 표현하기 위한 방법론이기에..
2022.03.17