코테/데일리 코딩

코테/데일리 코딩

18. 데일리코딩

문제 : 정수를 요소로 갖는 배열을 입력받아 오름차순으로 정렬하여 리턴해야 합니다. 버블 정렬(bubble sort)은 여러 정렬 알고리즘(삽입 정렬, 퀵 정렬, 병합 정렬, 기수 정렬 등) 중 가장 기본적인 알고리즘입니다. 버블 정렬 알고리즘은 아래와 같습니다. 첫 번째 요소가 두 번째 요소보다 크면, 두 요소의 위치를 바꿉니다. (swap) 두 번째 요소와 세 번째 요소보다 크면, 두 요소의 위치를 바꿉니다. (swap) 1, 2를 마지막까지 반복합니다. (마지막에서 두 번째 요소와 마지막 요소를 비교) 1~3의 과정을 한 번 거치게 되면, 가장 큰 요소가 배열의 마지막으로 밀려납니다. 1~3의 과정을 첫 요소부터 다시 반복합니다. 5를 통해 두 번째로 큰 요소가 배열의 마지막 바로 두 번째로 밀려납..

코테/데일리 코딩

17. 데일리코딩

문제 : 문자열을 입력받아 연속되는 문자가 있을 경우, 연속 구간을 반복되는 수와 문자로 조합한 형태로 압축한 문자열을 리턴해야 합니다. 입력 : 인자 1 : str string 타입의 알파벳 문자열 출력 : string 타입을 리턴해야 합니다. 주의사항 : 빈 문자열을 입력받은 경우, 빈 문자열을 리턴해야 합니다. 3개 이상 연속되는 문자만 압축합니다. 입출력 예시 : 풀이 : 나만의 해설: 문자가 연속되는지 확인하기위해 큰수찾기했던것처럼 이전의 값과 비교하며 반복문을 돌릴 것이다. 문자가 몇번 반복했는지 카운트하기위해 count변수를 선언해 1로 초기화시키고, 정답은 문자열로 출력되어야 하기때문에 ''로 초기화 시켜줌. 반복문을 돌면서 만약 이전의 문자와 현재의 문자가 같을경우 count에 +1을 해..

코테/데일리 코딩

16. 데일리코딩

문제 : 암호화된 문자열과 암호화 키를 입력받아 복호화된 문자열을 리턴해야 합니다. 카이사르 암호(Caesar cipher)는 평문(plaintext)을 암호키 secret개만큼 (오른쪽으로) 평행이동시켜 암호화 합니다. 복호화는 암호화된 문자열을 원래의 평문으로 복원하는 것을 말합니다. 입력 : 인자 1 : str string 타입의 알파벳 소문자 문자열 인자 2 : secret number 타입의 암호화 키 출력 : string 타입을 리턴해야 합니다. 주의사항 : 빈 문자열을 입력받은 경우, 빈 문자열을 리턴해야 합니다. 공백은 그대로 두어야 합니다. 입출력 예시 : 풀이 : 나만의 해설: 먼저, 새로운 문자열을 담을 newStr을 선언해준다. str을 split() 메서드를 통해 하나하나찢어서 배..

코테/데일리 코딩

15. 데일리코딩

문제 : 수를 입력받아 제곱근 값을 소수점 두 자리까지 리턴해야 합니다. 입력 : 인자 1 : num number 타입의 정수 (num >= 2 출력 : number 타입을 리턴해야 합니다. 최대 소수점 둘째 짜리까지 구합니다. (소수점 셋째 자리에서 반올림) 주의사항 : Math.sqrt 사용은 금지됩니다. 소수점 처리는 javascript 표준 내장 객체인 Number를 검색해 봅니다. (js decimal places limit 또는 자바스크립트 소수점 자리수) 항상 타입을 주의하여야 합니다. 각 자리수(1, 0.1, 0.01, 0.001)마다 (목표값을 넘지 않는) 근사값을 구하는 방식이 있습니다. 제곱근을 구하는 방법 중 바빌로니아 법이 있습니다. 바빌로니아 법의 점화식(recurrence fo..

코테/데일리 코딩

14. 데일리코딩

문제 : 문자열을 입력받아 문자열에서 숫자를 모두 찾아 더한 뒤에 해당 값을 (숫자와 공백을 제외한 나머지) 문자열의 길이로 나눈 값을 정수로 반올림하여 리턴해야 합니다. 입력 : 인자 1 : str string 타입의 문자열 출력 : number 타입을 리턴해야 합니다 (0 이상의 정수) 주의사항 : 빈 문자열을 입력받은 경우, 0을 리턴해야 합니다. 숫자(digit)는 연속해서 등장하지 않습니다. 입출력 예시 : 풀이 : 나만의 해설: strLength=0으로 숫자를뺀 문자만 들어있는 문자열의 길이를 초기화 시켰고, sum=0을 통해 숫자의 합을 0으로 초기화시켜주었다. 주의사항에서 str이 빈문자열일 경우 0을 리턴해야하기 때문에 먼저 if문을 주어 str.length===0일때 0을 리턴하게 해주..

코테/데일리 코딩

13. 데일리코딩

문제 : 문자열을 입력받아 아이소그램인지 여부를 리턴해야 합니다. 아이소그램(isogram)은 각 알파벳을 한번씩만 이용해서 만든 단어나 문구를 말합니다. 입력 : 인자 1 : str string 타입의 공백이 없는 알파벳 문자열 출력 : boolean 타입을 리턴해야 합니다. 주의사항 : 빈 문자열을 입력받은 경우, true를 리턴해야 합니다. 대소문자는 구별하지 않습니다. 입출력 예시 : 풀이 : 나만의 해설: 주의사항에 빈 문자열을 입력했을 때 true가 출력되어야 하기때문에 str.length === 0 일때 true를 리턴해야한다. result에 빈객체를 선언해주고, 문자열로 들어온 모든 알파벳을 소문자로 바꿔준다. 그리고 for 반복문을 통해서 result객체에 소문자로 바뀐 알파벳을 키로 넣..

코테/데일리 코딩

12. 데일리코딩

문제 : 두 수(num1, num2)를 입력받아, num1를 num2로 나눈 나머지를 리턴해야 합니다. 입력 : 인자 1 : num1 number 타입의 정수 (num1 >= 0) 인자 2 : num2 number 타입의 정수 (num2 >= 0) 출력 : number 타입을 리턴해야 합니다. 주의사항 : 나눗셈(/), 나머지(%) 연산자 사용은 금지됩니다. 0은 어떤 수로 나누어도 나머지가 0입니다. 어떤 수도 0으로 나눌 수 없습니다. 이 경우 'Error: cannot divide by zero'를 리턴해야 합니다. 입출력 예시 : 풀이 : 나만의 해설: if (num2 === 0) { return 'Error: cannot divide by zero' } if (num1 === 0) { retur..

코테/데일리 코딩

11. 데일리코딩

문제 : 문자열을 요소로 갖는 배열을 입력받아 문자열을 세로로 읽었을 때의 문자열을 리턴해야 합니다. 입력 : string 타입을 요소로 갖는 배열 출력 : string 타입을 리턴해야 합니다. 주의사항 : 각 문자열의 길이는 다양합니다. 각 문자의 위치를 행, 열로 나타낼 경우, 비어있는 (행, 열)은 무시합니다. 입출력 예시 : 풀이 : 나만의 해설: arr[0][0] + arr[1][0] -> arr[0][1] + arr[1][1] -> arr[0][2] + arr[1][2] 위의 규칙을 활용하여 첫 번째 인수 범위는 arr의 길이까지, 두 번째 인수는 배열의 요소 중 가장 긴 길이를 주었다. 가장 긴 문자열의 길이를 구해준뒤 이중반복문을 통하여 외부에는 가장 긴 문자열의 길이만큼 반복시키고, 내부..

plla2
'코테/데일리 코딩' 카테고리의 글 목록