알고리즘 10

알고리즘 코드카타 (약수의 개수와 덧셈)

오늘은 알고리즘 코드카타 문제를 풀어보겠다~~!!요즘 팀프로젝트 때문에 바빠서 알고리즘 문제를 풀었어도 블로그에 올리지 못했다ㅜㅜ     Q. 약수의 개수와 덧셈두 정수 left 와 right 가 매개변수로 주어집니다. left 부터 right 까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return하도록 solution 함수를 완성해주세요. 1 ≤ left ≤ right ≤ 1,000 leftrightresult131743242752  다음 표는 13부터 17까지의 수들의 약수를 모두 나타낸 것입니다.수약수약수의 개수131, 132141, 2, 7, 144151, 3, 5, 154161, 2, 4, 8, 165171, 172 따라서, 13 + 14 ..

알고리즘 2024.08.30

제일 작은 수 제거하기

Q.  정수를 저장한 배열, arr에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를 들어 arr이 [4, 3, 2, 1]인 경우 [4, 3, 2]를 리턴하고 [10]이면 [-1]를 리턴합니다.  제한 조건arr은 길이 1이상인 배열입니다.인덱스 i, j에 대해 i ≠ j 이면, arr[i] ≠  arr[j] 입니다. 입출력 예arrreturn[4, 3, 2, 1][4, 3, 2][10][-1]   function solution(arr) { if(arr.length num !== min ); return newArr;} 함수의 동작 방식:먼저 배열의 길이가 1 이하인지 확인하..

알고리즘 2024.08.26

알고리즘 문제(자연수를 뒤집어 배열로 만들기)

Q. 문제: 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를 들어 n이 12345이면 [5, 4, 3, 2, 1]을 리턴합니다.  제한 조건: n은 10,000,000,000이하인 자연수입니다.   입출력 예nreturn12345[5, 4, 3, 2, 1]    내가 푼 답function solution(n) { return String(n) .split('') .reverse() .map(arr => parseInt(arr));}문제를 일단 나누어 생각해본다. (숫자를 문자열로 변환 -> 문자열을 배열로 만들기 -> 배열을 뒤집기 -> 각 문자를 숫자로 변환)1. 숫자를 문자열로 변환: String(n)을 사용하여 입력 받은 숫자를 문자열로 변환2..

알고리즘 2024.08.12

문자열 길이 문제풀기

문자열 길이를 구하는 방법은  문자열변수.length 를 해주면 된다. Q. 문자열 길이에 1을 더한 값을 알려주는 함수를 만들어보세요.function getStringLengthPlusOne(str) {// 여기에 코드를 작성하세요}// 예시 출력console. log(getStringLengthPlusOne("hello")); // 출력: 6console.log(getStringLengthPlusOne("JavaScript")); // 출력: 11  내가 풀은 방식이다.function getStringLengthPlusOne(str) { return str.length + 1;}// 예시 출력console.log(getStringLengthPlusOne("hello")); // 출력: 6cons..

알고리즘 2024.07.23

내일배움캠프 여섯번째 발걸음

1. CODEKATA ⓐ 약수의 합 문제: 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. - n은 0 이상 3000이하인 정수입니다. nreturn122856  입출력 예 #112의 약수는 1, 2, 3, 4, 6, 12입니다. 이를 모두 더하면 28입니다.입출력 예 #25의 약수는 1, 5입니다. 이를 모두 더하면 6입니다. 먼저, for구문 이란?가장 일반적인 for문의 형태는 다음과 같다. console.log(i)를 총 10번 반복하는 반복문이다.for(let i = 0; i for문 안의 구성이 각각 의미하는 바를 살펴보면,let i=0 : 변수 let i를 선언하고 0으로 할당 (반복문 초기값 설정)i : for문을 얼마나 돌릴 것인지 조건을 ..

알고리즘 2024.07.09

내일배움 캠프 다섯번째 걸음

1. CODEKATA ⓐ 자릿수 더하기 문제: 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. - 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. Nanswer123698724                                                                입출력 예 #1문제의 예시와 같습니다.입출력 예 #29+8+7 = 24이므로 24를 return하면 됩니다.... 풀이: 결과값을 저장할 변..

알고리즘 2024.07.08

내일배움캠프 네번째 걸음

1. CODEKATA ⓐ 짝수와 홀수 문제: 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요.      - num은 int 범위의 정수입니다.- 0은 짝수입니다. 풀이: 위 함수는 입력된 정수 num을 2로 나눈 나머지를 검사하여 짝수인지 홀수인지를 판별한다. 짝수일 경우 "Even"을, 홀수일 경우 "Odd"로 나타나게 된다.   ⓑ 평균 구하기 문제: 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. - arr은 길이 1 이상, 100 이하인 배열입니다.- arr의 원소는 -10,000 이상 10,000 이하인 정수입니다.  풀이: 배열이 비어있는 경우 평균값이 의미가 없으므로 0을..

알고리즘 2024.07.05

내일배움캠프 세번째 걸음

1. CODEKATA 문제  ⓐ 각도기 문제: 각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요. 예각 : 0 직각 : angle = 90둔각 : 90 평각 : angle = 180풀이: if 와 else if를 써서 풀어줄 수 있다. ★ 첫번째 tip: else와 else if의 차이점에 대해 알아보겠다. else는 마지막으로 실행될 조건이며, 이전의 모든 조건들이 만족되지 않을 때 실행된다. else if는 다른 조건을 추가적으로 체크하고, 그 조건이 만족되었을 때 실행된다.e..

알고리즘 2024.07.03

내일배움캠프 두번째 걸음

1. CODEKATA◎ 나이 출력 : 머쓱이는 선생님이 몇 년도에 태어났는지 궁금해졌습니다. 2022년 기준 선생님의 나이 age가 주어질 때, 선생님의 출생 연도를 return 하는 solution 함수를 완성해주세요풀이: 나이는 태어난 년도에 1살이기 때문에, (현재년도) - (나이) +1 = (출생년도)를 해줘야 답이 나올 수 있다. ◎ 숫자 비교하기 : 정수 num1과 num2가 매개변수로 주어집니다. 두 수가 같으면 1 다르면 -1을 retrun하도록 solution 함수를 완성해주세요.풀이: 조건에 충족하면 1, 그렇지 않으면 -1이기 때문에 if 와 else를 사용해 줄 수 있다.    2. 강의 내용오늘은 로그인 페이지를 만들어보는 수업을 들었다. 먼저 뼈대인 HTML을 작성한다. 는 홈페..

알고리즘 2024.07.02

내일배움캠프로 첫 발걸음

오늘은 사전캠프 개강과 함께 OT를 듣게 되었다. 새로운 직업에 대해 배울 수 있어서 엄청 설레는 마음으로 OT에 참여하였다. 아무래도 처음 접하는 계열이다 보니 설명을 들을 때 뭐가 뭔지 감이 잡히질 않았다. 첫 날이라서 그런거겠지 하는 마음으로 최대한 메모해 가며 설명을 들었다. 이제부터 꾸준히 블로그에 새롭게 배운 내용과 느낀점, 앞으로의 계획 등을 적어야 겠다고 다짐했다. 개발자로써의 성장 스토리 기대하시라구욥....!...! 1. OT 중 중요했던 부분     ◎ 수업에 참여하기 전 출석체크 꼭 하기!!!!!!!!! (퇴실 버튼 누르면 재입실 불가하니 이점 유의하길, 자정이 넘어가도 퇴실체크 안됨)     ◎  강의를 들으면서 전부 암기하려 하지 말고 흐름 파악한다는 느낌으로 임하기!     ◎..

알고리즘 2024.07.01