버블 정렬은 원소의 이동이 거품이 수면으로 올라오는 듯한 모습을 보이기 때문에 지어진 이름이다. 작동 방식은 옆에 있는 데이터와 비교하여 더 작은 값을 점점 앞으로 보내는 방식이다.사실 버블정렬은 그렇게 효율적인 정렬방법이라고 할 순 없지만 다른 정렬 알고리즘에 비해서
문제 String 형인 str 인자에서 중복되지 않은 알파벳으로 이루어진 제일 긴 단어의 길이를 반환해주세요.예를 들어,str = "abcabcabc"return 은 3=> 'abc' 가 제일 길기 때문str = "aaaaa"return 은 1=> 'a' 가 제일 길
선택 정렬은 루프를 돌며 가장 작은 것을 선택해서 앞으로 보내는 정렬방법이다.저번에 살펴본 버블 정렬과는 가장 작은 것을 선택한다는 부분이 확실히 다르다.사실 말보다는 작동방식을 직접 눈으로 보는게 이해가 빠를 것이다. 한번 살펴보자.https://visual
인자인 height는 숫자로 이루어진 배열입니다. 그래프로 생각한다면 y축의 값이고, 높이 값을 갖고 있습니다.ㅤ아래의 그래프라면 height 배열은 1, 8, 6, 2, 5, 4, 8, 3, 7 입니다.저 그래프에 물을 담는다고 생각하고, 물을 담을 수 있는 가장 넓
양수로 이루어진 m x n 그리드를 인자로 드립니다.상단 왼쪽에서 시작하여, 하단 오른쪽까지 가는 길의 요소를 다 더했을 때,가장 작은 합을 찾아서 return 해주세요.한 지점에서 우측이나 아래로만 이동할 수 있습니다.설명 : 1→3→1→1→1 의 합이 제일 작음1시
숫자로 이루어진 리스트 nums를 인자로 주면, 그 안에서 어떤 연속적인 요소를 더했을 때 가장 큰 값이 나오나요? 가장 큰 값을 찾아 return해주세요.사실 전혀 어려울 것 없는 문제지만 내가 푼 풀이보다 훨씬 뛰어난 모범 답안이 있어서 이렇게 블로그에 정리하게 되
오래전 유행했던 콜라 문제가 있습니다. 콜라 문제의 지문은 다음과 같습니다.ㅤ정답은 아무에게도 말하지 마세요.ㅤ콜라 빈 병 2개를 가져다주면 콜라 1병을 주는 마트가 있다. 빈 병 20개를 가져다주면 몇 병을 받을 수 있는가?ㅤ단, 보유 중인 빈 병이 2개 미만이면,
수웅이는 매달 주어진 음식을 빨리 먹는 푸드 파이트 대회를 개최합니다. 이 대회에서 선수들은 1대 1로 대결하며, 매 대결마다 음식의 종류와 양이 바뀝니다. 대결은 준비된 음식들을 일렬로 배치한 뒤, 한 선수는 제일 왼쪽에 있는 음식부터 오른쪽으로, 다른 선수는 제일
삽입 정렬은 자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입함으로써 정렬을 완성하는 알고리즘이다.말로만 듣는다면 어떤 방식인지 이해하기 힘들 것이다.작동방식을 시각화한 자료를 통해 직접 확인해보자.https&#x
지금까지 배운 정렬 알고리즘(버블, 선택, 삽입 정렬)은 큰 규모에 맞지 않는 알고리즘이다.우리가 이제부터 알아볼 빠른 알고리즘 집합은 시간 복잡도를 O(n^2)에서 O(n log n)으로 향상시킬 수 있는 알고리즘이다.그중 합병 정렬(Merge Sort)에 대해 먼저
📋 퀵 정렬 알고리즘 이 포스팅에서 알아볼 퀵 정렬은 1960년에 찰스 앤터니 리처드 호어가 개발한 방법으로 이후 많은 사람들이 수정 보완하여 완성된 정렬 알고리즘이다. 이 알고리즘은 처음 소개된 이후로 반세기가 넘었지만 현존하는 가장 빠른 정렬 알고리즘 중 하나
📋 콜라 문제 >경화는 과수원에서 귤을 수확했습니다. 경화는 수확한 귤 중 'k'개를 골라 상자 하나에 담아 판매하려고 합니다. 그런데 수확한 귤의 크기가 일정하지 않아 보기에 좋지 않다고 생각한 경화는 귤을 크기별로 분류했을 때 서로 다른 종류의 수를 최소화하고
정수로 이루어진 배열 numbers가 있습니다.배열 의 각 원소들에 대해 자신보다 뒤에 있는 숫자 중에서 자신보다 크면서 가장 가까이 있는 수를 뒷 큰수라고 합니다.ㅤ정수 배열 numbers가 매개변수로 주어질 때,모든 원소에 대한 뒷 큰수들을 차례로 담은 배열을 re
📋 JadenCase 문자열 만들기 >JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고) 문자열 s가 주어졌을 때
📋 영어 끝말잇기 >1부터 n까지 번호가 붙어있는 n명의 사람이 영어 끝말잇기를 하고 있습니다. 영어 끝말잇기는 다음과 같은 규칙으로 진행됩니다. ㅤ 1번부터 번호 순서대로 한 사람씩 차례대로 단어를 말합니다. 마지막 사람이 단어를 말한 다음에는 다시 1번부터 시작