20920: 영단어 암기는 괴로워
·
PS/BOJ
시간 제한 메모리 제한 1초(추가 시간 없음) 1024MB 문제 화은이는 이번 영어 시험에서 틀린 문제를 바탕으로 영어 단어 암기를 하려고 한다. 그 과정에서 효율적으로 영어 단어를 외우기 위해 영어 단어장을 만들려 하고 있다. 화은이가 만들고자 하는 단어장의 단어 순서는 다음과 같은 우선순위를 차례로 적용하여 만들어진다. 자주 나오는 단어일수록 앞에 배치한다. 해당 단어의 길이가 길수록 앞에 배치한다. 알파벳 사전 순으로 앞에 있는 단어일수록 앞에 배치한다. M보다 짧은 길이의 단어의 경우 읽는 것만으로도 외울 수 있기 때문에 길이가 M이상인 단어들만 외운다고 한다. 화은이가 괴로운 영단어 암기를 효율적으로 할 수 있도록 단어장을 만들어 주자. 입력 첫째 줄에는 영어 지문에 나오는 단어의 개수 N과 외..
3190: 뱀
·
PS/BOJ
시간 제한 메모리 제한 1초 128MB 문제 'Dummy'라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임은 N×N 정사각 보드위에서 진행되고, 몇몇 칸에는 사과가 놓여져 있다. 보드의 상하좌우 끝에 벽이 있다. 게임이 시작할 때 뱀은 맨위 맨좌측에 위치하고 뱀의 길이는 1이다. 뱀은 처음에 오른쪽을 향한다. 뱀은 매 초마다 이동을 하는데 다음과 같은 규칙을 따른다. 먼저 뱀은 몸길이를 늘려 머리를 다음칸에 위치시킨다. 만약 벽이나 자기자신의 몸과 부딪히면 게임이 끝난다. 만약 이동한 칸에 사과가 있다면, 그 칸에 있던 사과가 없어지고 꼬리는 움직이지 않는다. 만약 이동한 칸..
자료구조의 class
·
C#
여러 종류의 class가 있다. 이미 정의되어있는 클래스 라이브러리도 있고 여기에 개발자가 필요한 만큼의 기능을 더 추가하는 것도 가능하다. int, string처럼 자료구조를 새로 선언하는 것도 할 수 있다. 내가 circle 이라는 클래스를 선언하면 이 안에 원을 구성하는 데 필요한 두 가지의 요소를 넣어줄 수 있다. 중심의 위치 X, Y, Z, 원의 반지름 R, 원의 두께 T, 각 축과의 기울기 aX, aY, aZ 이런 식으로. 백준 문제 풀 때 좌표 값이나 그래프 등의 상태를 복잡하게 하나하나 따로 저장하기보다 클래스로 묶어 클래스를 인스턴스화 하는 것이 간편하다. public class Location { private int x, y; public Location(int X, int Y) { ..
C# 백준 1655 가운데를 말해요 (최소, 최대 힙)
·
PS/BOJ
1655번: 가운데를 말해요 첫째 줄에는 백준이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 백준이가 외치는 정수가 차례대로 주어진다. 정수는 -1 www.acmicpc.net IDEA 자료를 입력 받음과 동시에 정렬을 해내야하는 문제다. 중앙값을 입력과 동시에 최신화 해주어야하기 때문에 자료는 항상 중앙값에 한해 정렬된 상태를 유지한다. "어떤 자료 구조를 사용하고 어떻게 입력을 받아 정렬 상태를 유지해낼 것이냐"가 이 문제의 빡센 0.1초의 시간 제한을 뚫을 수 있냐 없냐를 결정하는 문제다. 먼저 일반적인 배열을 떠올렸다. 가장 작은 값이 맨 앞으로 오는 오름차순 정렬을 유지한다. 매 N번째 입력마다 Binary S..
전라남도교육지원청
'자료구조' 태그의 글 목록