배열을 하위 배열로 나누고 하나의 요소가 담겨있는 배열은 정렬된 것으로 본다.
퀵 정렬은 1960년에 찰스 앤터니 리처드 호어(C.A.R hoare)가 처음 제안한 방법으로 이후 많은 사람들이 수정 보완하여 완성된 정렬 알고리즘이다. 이 알고리즘은 처음 소개된 이후로 반세기가 넘었지만 현존하는 가장 빠른 정렬 알고리즘 중에 하나이다. 퀵 정렬은
문제 괄호 문자열이란 괄호 기호인 { }, [ ], ( ) 와 같은 것을 말한다. 그중 괄호의 모양이 바르게 구성된 문자열을 바른 문자열, 그렇지 않은 문자열을 바르지 않은 문자열이라 부르도록 하자. ( ( ) ) 와 같은 문자열은 바른 문자열이지만 ( ) ( )
은주는 놀이공원 아르바이트를 하고 있다. 은주가 일하는 놀이공원에서는 현재 놀이공원 곳곳에 숨겨진 숫자 스탬프를 모아 오면 선물을 주는 이벤트를 하고 있다. 숫자 스탬프는 매일 그 수와 스탬프에 적힌 숫자가 바뀌지만 그 숫자는 항상 연속된다. 그런데 요즘 다른 날에 찍
문제 하노이의 탑은 프랑스 수학자 에두아르드가 처음으로 발표한 게임입니다. 하노이의 탑은 A, B, C 3개의 기둥과 기둥에 꽂을 수 있는 N 개의 원판으로 이루어져 있습니다. 이 게임에서는 다음의 규칙을 만족해야 합니다. > 1. 처음에 모든 원판은 A 기둥에 꽂
다음의 객체가 주어졌을 때 한국의 면적과 가장 비슷한 국가와 그 차이를 출력하세요.
문제 0부터 1000까지 1의 개수를 세는 프로그램을 만들려고 합니다. 예를 들어 0부터 20까지 1의 개수를 세어본다면 1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19에 각각 1이 들어가므로 12개의 1이 있게 됩니다. 11은 1이 2번
문제 원범이는 편의점 아르바이트가 끝난 후 정산을 하고자 합니다. 정산을 빨리하고 집에 가고 싶은 원범이는 프로그램을 만들려고 합니다. 숫자를 입력받고 천 단위로 콤마(,)를 찍어주세요. 예를 들어, 123456789를 입력받았으면 123,456,789를 출력해야
총 문자열의 길이는 50으로 제한하고 사용자가 문자열을 입력하면 그 문자열을 가운데 정렬을 해주고, 나머지 빈 부분에는 '='을 채워 넣어주세요.
새 학기가 되어 이름을 가나다 순서대로 배정하고 번호를 매기려고 합니다.데이터에 입력된 이름을 아래와 같이 출력해 주세요.
문자열을 입력받고 연속되는 문자열을 압축해서 표현하고 싶습니다.
20190923을 출력합니다. 아래 기준만 만족하면 됩니다.코드 내에 숫자가 없어야 합니다.예) console.log(20190923)이라고 하시면 안됩니다.파일 이름이나 경로를 사용해서는 안됩니다.시간, 날짜 함수를 사용해서는 안됩니다.에러 번호 출력을 이용해서는
한국 대학교의 김한국 교수님은 학생들과 친해지기 위해서 딸에게 줄임말을 배우기로 했습니다.딸은 '복잡한 세상 편하게 살자'라는 문장을 '복세편살'로 줄여 말합니다.교수님이 줄임말을 배우기 위해 아래와 같이 어떤 입력이 주어지면 앞 글자만 줄여 출력하도록 해주세요.입력은
정량 N에 정확히 맞춰야만 움직이는 화물용 엘리베이터가 있습니다.화물은 7kg, 3kg 두 가지이며 팔이 아픈 은후는 가장 적게 화물을 옮기고 싶습니다.예를 들어 정량이 24kg이라면 3kg 8개를 옮기는 것보다는7kg 3개, 3kg 1개 즉 4개로 더 적게 옮길 수
a = 1, 2, 3, 4b = a, b, c, d이런 리스트가 있을 때 \[1, a, b, 2, 3, c, d, 4] 이런 식으로 a, b 리스트가 번갈아가면서 출력되게 해주세요.
탑을 쌓기 위해 각 크기별로 준비된 블럭들을 정해진 순서에 맞게 쌓아야 합니다.순서에 맞게 쌓지 않으면 무너질 수 있습니다.예를 들면 정해진 순서가 BAC 라면 A 다음 C가 쌓아져야 합니다.선행으로 쌓아야 하는 블럭이 만족된 경우라면 탑이 무너지지 않습니다.B를 쌓지
광장에서 모인 사람들과 악수를 하는 행사가 열렸습니다.참가자인 민규는 몇명의 사람들과 악수를 한 후 중간에 일이 생겨 집으로 갔습니다.이 행사에서 진행된 악수는 총 n번이라고 했을 때,민규는 몇 번의 악수를 하고 집으로 돌아갔을까요?그리고 민규를 포함한 행사 참가자는
학교가 끝난 지원이는 집에 가려고 합니다. 학교 앞에 있는 버스 시간표는 너무 복잡해서 버스 도착시간이 몇 분 남았는지 알려주는 프로그램을 만들고 싶습니다.버스 시간표와 현재 시간이 주어졌을 때 버스 도착 시간이 얼마나 남았는지 알려주는 프로그램을 만들어주세요.버스 시
행렬 2개가 주어졌을 때 곱할 수 있는 행렬인지 확인하고 곱할 수 있다면 그 결과를 출력하고,곱할 수 없다면 -1을 출력하는 프로그램을 만들어주세요.
369 게임을 하는데 조금 이상한 규칙이 있습니다. 3이나 6, 9 일 때만 박수를 쳐야합니다. 예를 들어 13, 16과 같이 3과 6, 9 만으로 된 숫자가 아닐 경우엔 박수를 치지 않습니다.수현이는 박수를 몇 번 쳤는지 확인하고 싶습니다. 36일 때 박수를 쳤다면
전쟁이 끝난 후, A 나라에서는 폐허가 된 도시를 재건하려고 한다. 그런데 이 땅은 전쟁의 중심지였으므로 전쟁 중 매립된 지뢰가 아직도 많이 남아 있다는 것이 판명되었다. 정부는 가장 먼저 지뢰를 제거하기 위해 수색반을 꾸렸다.수색반은 가장 효율적인 지뢰 제거가 하고
가장 긴 공통 부분 문자열(Longest Common Subsequence)이란 A, B 두 문자열이 주어졌을 때 두 열에 공통으로 들어 있는 요소로 만들 수 있는 가장 긴 부분열을 말합니다. 여기서 부분열이란 다른 문자열에서 몇몇의 문자가 빠져 있어도 순서가 바뀌지
기린은 중국집에서 친구들과 만나기로 하고, 음식을 시켰습니다.음식이 나오고 한참을 기다렸지만 만나기로 한 친구 2명이 오지 않았어요.기린은 배가 너무 고파 혼자 음식을 먹기 시작합니다. 원형 테이블에는 N 개의 음식들이 있습니다.한 개의 음식을 다 먹으면 그 음식의
문제 다음의 값이 주어졌을 때 n번 순회를 결정합니다. 예를 들어 2번 순회하면 여기서 변하기 전 원소와 변한 후 원소의 값의 차가 가장 작은 값을 출력하는 프로그램을 작성하세요. 예를 들어 2번 순회했을 때 변하기 전의 리스트와 변한 후의 리스트의 값은 아래와