목록전체 글 (160)
Odds and Ends
Chap01 UI 요구사항 확인 (중요도: ***) 1. UI : 사용자와 시스템 사이에서 의사소통 하도록 고안된 물리적 가상의 매개체 2. UI 유형 CLI(Command Line Interface): 명령어를 텍스트로 입력하여 조작하는 UI GUI(Graphical User Interface): 그래픽 환경 기반으로한 마우스/전자펜을 이용한 UI NUI(Natural User Interface): 신체 부위를 이용하는 UI OUI(Organic User Interface): 현실에 존재하는 모든 사물이 입출력 장치로 변화할 수 있는 UI 3. UI 설계 원칙 직관성: 누구나 쉽게 이해, 쉽게 사용 유효성: 정확하고 완벽하게 사용자의 목표가 달성될 수 있게함 학습성: 초보/숙련자 모두 쉽게 배우고 사용..
문제 우리 나라는 가족 혹은 친척들 사이의 관계를 촌수라는 단위로 표현하는 독특한 문화를 가지고 있다. 이러한 촌수는 다음과 같은 방식으로 계산된다. 기본적으로 부모와 자식 사이를 1촌으로 정의하고 이로부터 사람들 간의 촌수를 계산한다. 예를 들면 나와 아버지, 아버지와 할아버지는 각각 1촌으로 나와 할아버지는 2촌이 되고, 아버지 형제들과 할아버지는 1촌, 나와 아버지 형제들과는 3촌이 된다. 여러 사람들에 대한 부모 자식들 간의 관계가 주어졌을 때, 주어진 두 사람의 촌수를 계산하는 프로그램을 작성하시오. 입력 사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른..
문제 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다. 다음 예를 보자. 26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 = 12이다. 새로운 수는 42이다. 4+2 = 6이다. 새로운 수는 26이다. 위의 예는 4번만에 원래 수로 돌아올 수 있다. 따라서 26의 사이클의 길이는 4이다. N이 주어졌을 때, N의 사이클의 길이를 구하는 프로그램을 작성하시오. 입력 첫째 ..
문제 어떤 단어를 뒤에서부터 읽어도 똑같다면 그 단어를 팰린드롬이라고 한다. 'radar', 'sees'는 팰린드롬이다. 수도 팰린드롬으로 취급할 수 있다. 수의 숫자들을 뒤에서부터 읽어도 같다면 그 수는 팰린드롬수다. 121, 12421 등은 팰린드롬수다. 123, 1231은 뒤에서부터 읽으면 다르므로 팰린드롬수가 아니다. 또한 10도 팰린드롬수가 아닌데, 앞에 무의미한 0이 올 수 있다면 010이 되어 팰린드롬수로 취급할 수도 있지만, 특별히 이번 문제에서는 무의미한 0이 앞에 올 수 없다고 하자. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다. 출력 각 줄마다 주어..
비선형 구조 (목차) Graph Tree Binary Tree Full Binary Tree Complete Binary Tree Binary Search Tree 비선형자료구조란? : 하나의 자료 뒤(안)에 여러개의 자료가 존재할 수 있는 것을 의미 *비선형 자료구조에 대해 정리하기 전, 먼저 전체적인 자료구조의 형태를 이해하기 위해 아래 이미지를 첨부한다. 1. Graph : 그래프는 노드(하나의 점)와 노드 간을 연결하는 간선으로 구성된 자료 구조. 연결된 노드 간의 관계를 표현할 수 있음 그래프의 특징 - 그래프는 순환 혹은 비순환 구조를 이룬다 - 그래프는 방향이 있는 그래프와 방향이 없는 그래프가 있다. - 루트 노드의 개념이 없다 / 부모-자식 관계라는 개념이 없다. - 2개 이상의 경로가 ..
선형 자료구조 (목차) Array List HashTable Queue Stack 선형자료구조란? : 원소들을 순서대로 나열한 집합 *선형 자료구조에 대해 정리하기 전, 먼저 전체적인 자료구조의 형태를 이해하기 위해 아래 이미지를 첨부한다. 1. Array(배열) : 배열이란 같은 성질을 갖는 항목들의 집합 메모리 상에 연속적으로 데이터가 저장된 연접 리스트(순차 리스트)에 해당한다. (데이터 참조 시 Index 사용) ** Array 특징 고정된 크기 배열의 크기를 10으로 지정한다면, 내부에 데이터가 5개만 있더라도 실제 배열의 크기는 10이다. ** 메모리가 낭비될 수 있다. 논리적 저장 순서와 물리적 저장 순서가 일치하다. (메모리 상에 데이터도 순차적으로 저장된다.) Cache Hit Rate ..
문제 상근이와 선영이는 동시에 가지고 있는 CD를 팔려고 한다. CD를 몇 개나 팔 수 있을까? 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 상근이가 가지고 있는 CD의 수 N, 선영이가 가지고 있는 CD의 수 M이 주어진다. N과 M은 최대 백만이다. 다음 줄부터 N개 줄에는 상근이가 가지고 있는 CD의 번호가 오름차순으로 주어진다. 다음 M개 줄에는 선영이가 가지고 있는 CD의 번호가 오름차순으로 주어진다. CD의 번호는 십억을 넘지 않는 양의 정수이다. 입력의 마지막 줄에는 0 0이 주어진다. 상근이와 선영이가 같은 CD를 여러장 가지고 있는 경우는 없다. 출력 두 사람이 동시에 가지고 있는 CD의 개수를 출력한다. 예제 입력 3 3 1 2 3 1 2 4 ..
문제 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 가지고 있는지 아닌지를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,000,000보다 작거나 같다. 두 숫자 카드에 같은 수가 적혀있는 경우는 없다. 셋째 줄에는 M(1 ≤ M ≤ 500,000)이 주어진다. 넷째 줄에는 상근이가 가지고 있는 숫자 카드인지 아닌지를 구해야 할 M개의 정수가 주어지며, 이 수는 공백으로 구분되어져 있다. 이..