프로그래머스 Lv.1
재귀(Recursion)이전에 재귀에 대해 이미 배운바 있습니다.오늘은 재귀를 사용해서 문제를 풀어주세요.str 이라는 'string'을 넘겨주면 글자순서를 바꿔서 return해주세요.reverse 메서드 사용은 당연히 금지입니다!\*힌트아래의 코드가 어색한 것은 아니
1. 버블정렬(Bubble Sort) 버블 정렬은 인접한 데이터를 교환해서 정렬하는 알고리즘입니다. 알고리즘의 정렬되는 모습이 마치 거품처럼 보인다고 해서 붙여진 이름입니다. 아래 그림을 한 번 봐주세요. 아마 알고리즘이 바로 이해되실 것입니다. 아래와 같은 정렬되
1. Selection Sort(선택정렬) 정렬 알고리즘은 순서가 없던 데이터를 순서대로 바꾸어 나열하는 알고리즘입니다. 정렬을 하는 방법은 여러가지가 있는데, 그 중에 유명한 알고리즘은 아래 4가 있습니다. 선택정렬 버블정렬 삽입정렬 퀵정렬 오늘은 선택정렬을 배우
이진탐색을 배우기 전에 선형탐색(Linear Search)먼저 보겠습니다.\*\* 선형탐색이나, 이진탐색의 요소는 오름차순이나 내림차순으로 되어 있어야 적용할 수 있는 알고리즘입니다.let arr = \[2, 4, 6, 8, 11, 14];위의 배열에서 요소가 8인것을
숫자로 이루어진 리스트 nums를 인자로 주면,그 안에서 어떤 연속적인 요소를 더했을 때 가장 큰 값이 나오나요?가장 큰 값을 찾아 return해주세요.
1. Question 다음과 같이 input이 주어졌을 때,같은 알파벳으로 이루어진 단어끼리 묶어주세요. output에서 순서는 상관없습니다.
prices는 배열이며, 각 요소는 매일의 주식 가격입니다.만약 한 번만 거래할 수 있다면 = 사고 팔 수 있다면,제일 큰 이익은 얼마일까요?
양수 N을 이진법으로 바꿨을 때, 연속으로 이어지는 0 중에서 가장 큰 값을 return해 주세요.이어지는 0은 1과 1사이에 있는 것을 의미합니다.1과 1사이에 있는 0을 binary gap 이라고 하겠습니다.Ref.https://medium.com/akia
오늘은 재귀알고리즘에 대한 문제입니다.재귀(recursion)란, 자신을 정의할 때 자기 자신을 호출하는 방법을 뜻합니다. 프로그래밍의 함수정의에서 많이 사용됩니다.countdown 함수는 받은 인자를 console로 출력합니다.그런데 위의 함수를 실행하면 10에서 시
주어진 숫자 배열에서, 0을 배열의 마지막쪽으로 이동시켜주세요.원래 있던 숫자의 순서는 바꾸지 말아주세요.새로운 배열을 생성해서는 안 됩니다.Input: 0,1,0,3,12Output: 1,3,12,0,0
양수로 이루어진 m x n 그리드를 인자로 드립니다.상단 왼쪽에서 시작하여, 하단 오른쪽까지 가는 길의 요소를 다 더했을 때,가장 작은 합을 찾아서 return 해주세요.한 지점에서 우측이나 아래로만 이동할 수 있습니다.
문자로 구성된 배열을 input으로 전달하면, 문자를 뒤집어서 return 해주세요.새로운 배열을 선언하면 안 됩니다.인자로 받은 배열을 수정해서 만들어주세요.Input: "h","e","l","l","o"Output: "o","l","l","e","h"Input: "
1. Question input으로 받은 두 수를 곱해서 반환해주세요. 반환하는 표현도 복소수 형태의 string 이어야 합니다. 복소수 정의에 의하면 (i^2)는 -1 이므로 (i^2) 일때는 -1로 계산해주세요. 제곱 표현이 안 되어 i의 2제곱을 (i^2)라
인자인 height는 숫자로 이루어진 배열입니다.그래프로 생각한다면 y축의 값이고, 높이 값을 갖고 있습니다.아래의 그래프라면 height 배열은 1, 8, 6, 2, 5, 4, 8, 3, 7 입니다.저 그래프에 물을 담는다고 생각하고, 물을 담을 수 있는 가장 넓은
nums는 숫자로 이루어진 배열입니다. 가장 자주 등장한 숫자를 k 개수만큼 return해주세요.nums = 1,1,1,2,2,3k = 2 return 1,2nums = 1k = 1 return 1
s는 여러 괄호들로 이루어진 String 인자입니다.s가 유효한 표현인지 아닌지 true/false로 반환해주세요.종류는 '(', ')', '', '', '{', '}' 으로 총 6개 있습니다.아래의 경우 유효합니다.한 번 괄호를 시작했으면, 같은 괄호로 끝내야 한다.
숫자로 이루어진 배열인 nums를 인자로 전달합니다.숫자중에서 과반수(majority, more than a half)가 넘은 숫자를 반환해주세요.예를 들어,nums = 3,2,3return 3nums = 2,2,1,1,1,2,2return 2가정nums 배열의 길이는
1. Question 로마자에서 숫자로 바꾸기 1~3999 사이의 로마자 s를 인자로 주면 그에 해당하는 숫자를 반환해주세요. 로마 숫자를 숫자로 표기하면 다음과 같습니다. Symbol Value I 1 V 5
strs은 단어가 담긴 배열입니다.공통된 시작 단어(prefix)를 반환해주세요.예를 들어strs = 'start', 'stair', 'step'return은 'st'strs = 'start', 'wework', 'today'return은 ''문제는 참 간단해 보이는데
숫자인 num을 인자로 넘겨주면, 뒤집은 모양이 num과 똑같은지 여부를 반환해주세요.num: 숫자return: true or false (뒤집은 모양이 num와 똑같은지 여부)예를 들어,num = 123return false => 뒤집은 모양이 321 이기 때문num
1. Question String 형인 str 인자에서 중복되지 않은 알파벳으로 이루어진 제일 긴 단어의 길이를 반환해주세요. str: 텍스트 return: 중복되지 않은 알파벳 길이 (숫자 반환) 예를 들어, str = "abcabcabc" return은 3 =
reverse 함수에 정수인 숫자를 인자로 받습니다.그 숫자를 뒤집어서 return해주세요.x: 숫자return: 뒤집어진 숫자를 반환!예들 들어,x: 1234return: 4321x: -1234return: -4321x: 1230return: 321이번 문제는 구글링
1. Question twoSum함수에 숫자배열과 '특정 수'를 인자로 넘기면, 더해서 '특정 수'가 나오는 index를 배열에 담아 return해 주세요. nums: 숫자 배열 target: 두 수를 더해서 나올 수 있는 합계 return: 두 수의 index를
프로그래머스 Lv.1
프로그래머스 Lv.1
프로그래머스 Lv.1
프로그래머스 Lv.1
프로그래머스 Lv.1
프로그래머스 Lv.1
프로그래머스 Lv.1
프로그래머스 Lv.1
프로그래머스 Lv.1
프로그래머스 Lv.1
프로그래머스 Lv.1
프로그래머스 Lv.1
프로그래머스 Lv.1