N개의 양의 정수에서 가장 큰 수와 가장 작은 수의 차이를 출력하시오.난이도:D2첫 줄에 테스트 케이스의 수 T가 주어진다. ( 1 ≤ T ≤ 50 )각 케이스의 첫 줄에 양수의 개수 N이 주어진다. ( 5 ≤ N ≤ 1000 )다음 줄에 N개의 양수 ai가 주어진다.
0에서 9까지 숫자가 적힌 N장의 카드가 주어진다.가장 많은 카드에 적힌 숫자와 카드가 몇 장인지 출력하는 프로그램을 만드시오. 카드 장수가 같을 때는 적힌 숫자가 큰 쪽을 출력한다.첫 줄에 테스트 케이스 개수 T가 주어진다. ( 1 ≤ T ≤ 50 )다음 줄부터 테
사다리 게임이 지겨워진 알고리즘 반 학생들이 새로운 게임을 만들었다. 가위바위보가 그려진 카드를 이용해 토너먼트로 한 명을 뽑는 것이다. 게임 룰은 다음과 같다.1번부터 N번까지 N명의 학생이 N장의 카드를 나눠 갖는다. 전체를 두 개의 그룹으로 나누고, 그룹의 승자끼
N개의 숫자로 이루어진 수열이 주어진다. 맨 앞의 숫자를 맨 뒤로 보내는 작업을 M번 했을 때, 수열의 맨 앞에 있는 숫자를 출력하는 프로그램을 만드시오.첫 줄에 테스트 케이스 개수 T가 주어진다. 1<=T<=50다음 줄부터 테스트 케이스의 첫 줄에 N과
N개의 피자를 동시에 구울 수 있는 화덕이 있다. 피자는 치즈가 모두 녹으면 화덕에서 꺼내며, 치즈의 양은 피자마다 다르다.1번부터 M번까지 M개의 피자를 순서대로 화덕에 넣을 때, 치즈의 양에 따라 녹는 시간이 다르기 때문에 꺼내지는 순서는 바뀔 수 있다.주어진 조건
NxN 크기의 미로에서 출발지에서 목적지에 도착하는 경로가 존재하는지 확인하는 프로그램을 작성하시오. 도착할 수 있으면 1, 아니면 0을 출력한다.주어진 미로 밖으로는 나갈 수 없다.다음은 5x5 미로의 예이다.1310110101101011010110021마지막 줄의
NxN 크기의 미로에서 출발지 목적지가 주어진다.이때 최소 몇 개의 칸을 지나면 출발지에서 도착지에 다다를 수 있는지 알아내는 프로그램을 작성하시오.경로가 있는 경우 출발에서 도착까지 가는데 지나야 하는 최소한의 칸 수를, 경로가 없는 경우 0을 출력한다.다음은 5x5
N개의 10억 이하 자연수로 이뤄진 수열이 주어진다.이 수열은 완성된 것이 아니라 M개의 숫자를 지정된 위치에 추가하면 완성된다고 한다.완성된 수열에서 인덱스 L의 데이터를 출력하는 프로그램을 작성하시오.다음은 숫자를 추가하는 예이다.첫 줄에 테스트케이스의 수 T가 주
A사는 창립기념일 이벤트로 비밀번호 맞추기 대회를 열어, 최대 10개인 비밀번호를 맞추는 사람에게 기념품을 제공하기로 했다.기념품을 받을 수 있도록 다음 조건에 맞는 비밀번호 찾기 프로그램을 작성하시오.1000이하의 숫자 N개가 주어진다. 이때 시작 숫자가 정해지고,
N개의 10억 이하 자연수로 이뤄진 수열이 주어진다. 이 수열은 완성된 것이 아니라 M번의 편집을 거쳐 완성된다고 한다.완성된 수열에서 인덱스 L의 데이터를 출력하는 프로그램을 작성하시오.다음은 미완성 수열과 편집의 예이다.첫 줄에 테스트케이스의 수 T가 주어진다. 1
트리의 일부를 서브 트리라고 한다. 주어진 이진 트리에서 노드 N을 루트로 하는 서브 트리에 속한 노드의 개수를 알아내는 프로그램을 만드시오.주어지는 트리는 부모와 자식 노드 번호 사이에 특별한 규칙이 없고, 부모가 없는 노드가 전체의 루트 노드가 된다.이런 경우의 트
1부터 N까지의 자연수를 이진 탐색 트리에 저장하려고 한다.이진 탐색 트리는 어떤 경우에도 저장된 값이 왼쪽 서브트리의 루트 <현재 노드 <오른쪽 서브 트리의 루트인 규칙을 만족한다.추가나 삭제가 없는 경우에는, 완전 이진 트리가 되도록 만들면 효율적인 이진
완전 이진 트리의 리프 노드에 1000이하의 자연수가 저장되어 있고, 리프 노드를 제외한 노드에는 자식 노드에 저장된 값의 합이 들어있다고 한다.다음은 리프 노드에 저장된 1, 2, 3이 주어졌을 때, 나머지 노드에 자식 노드의 합을 저장한 예이다.N개의 노드를 갖는
어느 고등학교에서 실시한 1000명의 수학 성적을 토대로 통계 자료를 만들려고 한다.이때, 이 학교에서는 최빈수를 이용하여 학생들의 평균 수준을 짐작하는데, 여기서 최빈수는 특정 자료에서 가장 여러 번 나타나는 값을 의미한다.다음과 같은 수 분포가 있으면,10, 8,
강변에 빌딩들이 옆으로 빽빽하게 밀집한 지역이 있다.이곳에서는 빌딩들이 너무 좌우로 밀집하여, 강에 대한 조망은 모든 세대에서 좋지만 왼쪽 또는 오른쪽 창문을 열었을 때 바로 앞에 옆 건물이 보이는 경우가 허다하였다.그래서 이 지역에서는 왼쪽과 오른쪽으로 창문을 열었을
한 쪽 벽면에 다음과 같이 노란색 상자들이 쌓여 있다.높은 곳의 상자를 낮은 곳에 옮기는 방식으로 최고점과 최저점의 간격을 줄이는 작업을 평탄화라고 한다.평탄화를 모두 수행하고 나면, 가장 높은 곳과 가장 낮은 곳의 차이가 최대 1 이내가 된다.평탄화 작업을 위해서 상
다음 100X100의 2차원 배열이 주어질 때, 각 행의 합, 각 열의 합, 각 대각선의 합 중 최댓값을 구하는 프로그램을 작성하여라.다음과 같은 5X5 배열에서 최댓값은 29이다.총 10개의 테스트 케이스가 주어진다.배열의 크기는 100X100으로 동일하다.각 행의
점심 시간에 산책을 다니는 사원들은 최근 날씨가 더워져, 사다리 게임을 통하여 누가 아이스크림을 구입할지 결정하기로 한다.김 대리는 사다리타기에 참여하지 않는 대신 사다리를 그리기로 하였다.사다리를 다 그리고 보니 김 대리는 어느 사다리를 고르면 X표시에 도착하게 되는
점심 시간에 산책을 다니는 사원들은 최근 날씨가 더워져, 사다리 게임을 통하여 누가 아이스크림을 구입할지 결정하기로 한다.김 대리는 사다리타기에 참여하지 않는 대신 사다리를 그리기로 하였다.사다리를 다 그리고 보니 김 대리는 어느 사다리를 고르면 최단거리로 바닥에 도착
주어지는 영어 문장에서 특정한 문자열의 개수를 반환하는 프로그램을 작성하여라.Starteatingwellwiththeseeighttipsforhealthyeating,whichcoverthebasicsofahealthydietandgoodnutrition.위 문장에서
"기러기", "토마토", "스위스"와 같이 똑바로 읽어도 거꾸로 읽어도 똑같은 문장이나 낱말을 회문(回文, palindrome)이라 한다.8x8 평면 글자판에서 제시된 길이를 가진 회문의 개수를 구하라.위와 같은 글자판이 주어졌을 때, 길이가 5인 회문은 붉은색 테두리
"기러기" 또는 "level" 과 같이 거꾸로 읽어도 제대로 읽은 것과 같은 문장이나 낱말을 회문(回文, palindrome)이라 한다.주어진 100x100 평면 글자판에서 가로, 세로를 모두 보아 가장 긴 회문의 길이를 구하는 문제이다.위와 같은 글자 판이 주어졌을
다음과 같이 두 개의 숫자 N, M이 주어질 때, N의 M 거듭제곱 값을 구하는 프로그램을 재귀호출을 이용하여 구현해 보아라.2 5 = 2 X 2 X 2 X 2 X 2 = 323 6 = 3 X 3 X 3 X 3 X 3 X 3 = 729총 10개의 테스트 케이스가 주어진
4 종류의 괄호문자들 '()', '\[]', '{}', '<>' 로 이루어진 문자열이 주어진다.이 문자열에 사용된 괄호들의 짝이 모두 맞는지 판별하는 프로그램을 작성한다.예를 들어 아래와 같은 문자열은 유효하다고 판단할 수 있다.아래와 같은 문자열은 유효하지 않은
그림과 같이 도식화한 지도에서 A도시에서 출발하여 B도시로 가는 길이 존재하는지 조사하려고 한다.길 중간 중간에는 최대 2개의 갈림길이 존재하고, 모든 길은 일방 통행으로 되돌아오는 것이 불가능하다.다음과 같이 길이 주어질 때, A도시에서 B도시로 가는 길이 존재하는지
다음 주어진 조건에 따라 n개의 수를 처리하면 8자리의 암호를 생성할 수 있다.8개의 숫자를 입력 받는다.첫 번째 숫자를 1 감소한 뒤, 맨 뒤로 보낸다. 다음 첫 번째 수는 2 감소한 뒤 맨 뒤로, 그 다음 첫 번째 수는 3을 감소하고 맨 뒤로, 그 다음 수는 4,
아래 그림과 같은 미로가 있다. 16\*16 행렬의 형태로 만들어진 미로에서 흰색 바탕은 길, 노란색 바탕은 벽을 나타낸다.가장 좌상단에 있는 칸을 (0, 0)의 기준으로 하여, 가로방향을 x 방향, 세로방향을 y 방향이라고 할 때, 미로의 시작점은 (1, 1)이고 도
아래 그림과 같은 미로가 있다. 100\*100 행렬의 형태로 만들어진 미로에서 흰색 바탕은 길, 노란색 바탕은 벽을 나타낸다.가장 좌상단에 있는 칸을 (0, 0)의 기준으로 하여, 가로방향을 x 방향, 세로방향을 y 방향이라고 할 때, 미로의 시작점은 (1, 1)이고
0 ~ 999999 사이의 수를 나열하여 만든 암호문이 있다.암호문을 급히 수정해야 할 일이 발생했는데, 이 암호문은 특수 제작된 처리기로만 수정이 가능하다.이 처리기는 다음과 같이 1개의 기능을 제공한다.I(삽입) x, y, s : 앞에서부터 x의 위치 바로 다음에
0 ~ 999999 사이의 수를 나열하여 만든 암호문이 있다. 암호문을 급히 수정해야 할 일이 발생했는데,이 암호문은 특수 제작된 처리기로만 수정이 가능하다. 이 처리기는 다음과 같이 2개의 기능을 제공한다.I(삽입) x, y, s : 앞에서부터 x의 위치 바로 다음에
0 ~ 999999 사이의 수를 나열하여 만든 암호문이 있다.암호문을 급히 수정해야 할 일이 발생했는데, 이 암호문은 특수 제작된 처리기로만 수정이 가능하다.이 처리기는 다음과 같이 3개의 기능을 제공한다.I(삽입) x, y, s : 앞에서부터 x의 위치 바로 다음에
주어진 트리를 in-order 형식으로 순회해 각 노드를 읽으면 특정 단어를 알 수 있다.위 트리를 in-order 형식으로 순회할 경우 SOFTWARE 라는 단어를 읽을 수 있다.주어진 트리를 in-order 형식으로 순회했을때 나오는 단어를 출력하라.트리는 완전 이
원재가 컴퓨터를 만지다가 실수를 저지르고 말았다. 메모리가 초기화된 것이다.다행히 원래 메모리가 무슨 값이었는지 알고 있었던 원재는 바로 원래 값으로 되돌리려고 했으나 메모리 값을 바꿀 때 또 문제가 생겼다.메모리 bit중 하나를 골라 0인지 1인지 결정하면 해당 값이
테이블 위에 자성체들이 놓여 있다.자성체들은 성질에 따라 색이 부여되는데, 푸른 자성체의 경우 N극에 이끌리는 성질을 가지고 있고, 붉은 자성체의 경우 S극에 이끌리는 성질이 있다.아래와 같은 테이블에서 일정 간격을 두고 강한 자기장을 걸었을 때, 시간이 흐른 뒤에 자
평소에 잔머리가 발달하고 게으른 철수는 비밀번호를 기억하는 것이 너무 귀찮았습니다.적어서 가지고 다니고 싶지만 누가 볼까봐 걱정입니다. 한가지 생각을 해냅니다.0~9로 이루어진 번호 문자열에서 같은 번호로 붙어있는 쌍들을 소거하고 남은 번호를 비밀번호로 만드는 것입니다
N X N크기의 농장이 있다.이 농장에는 이상한 규칙이 있다.규칙은 다음과 같다. ① 농장은 크기는 항상 홀수이다. (1 X 1, 3 X 3 … 49 X 49) ② 수확은 항상 농장의 크기에 딱 맞는 정사각형 마름모 형태로만 가능하다.1 X 1크기의 농장에서 자
다솔이는 어떤 문자열을 하나 가지고 있는데, 이 문자열이 별로 아름답지 못하다고 생각하고 있다.그래서 장식을 해주기로 했다.예를 들어 문자열이 “D”라면 주위를 ‘빈 곳은 ‘.’로 표시한다.만약 문자열의 길이가 1보다 더 크면, 인접한 문자는 ‘예를 들어 문자열이 “A
어떤 국가에서는 자국 내 방송국에서 스파이가 활동하는 사실을 알아냈다. 스파이는 영상물에 암호 코드를 삽입하여 송출하고 있었다. 스파이의 암호 코드에 다음과 같은 규칙이 있음을 발견했다.암호코드는 8개의 숫자로 이루어져 있다.올바른 암호코드는 (홀수 자리의 합 x 3)