학습 TIL/Algorithm
JavaScript 문제 : 문자열을 입력받아 문자열을 구성하는 각 단어의 첫 글자가 대문자인 문자열을 리턴해야 합니다. 주의사항 : 단어는 공백으로 구분합니다. 연속된 공백이 존재할 수 있습니다. 빈 문자열을 입력받은 경우, 빈 문자열을 리턴해야 합니다. 어떻게 풀지 생각해보기 : 문자열을 입력 받기 때문에 띄어쓰기로 구분해서 배열로 변환한 뒤에, 각 요소의 첫번째 문자를 대문자로 바꿔준다. 여기서 주의해야 할 점이 연속된 공백이 존재할 수 있는 것이다. 존재하는 것으로 끝이아니고 다시 결과값으로도 그 공백이 그대로인 상태에서 앞글자가 대문자로 바뀌어야 한다. 여기서 많이 헤맸다. 처음 코드를 짰을 때 대문자로 바꿔주는 것 까지는 하겠는데 다시 문자열로 합칠때 그 공백이 다 사라졌기 때문이다. 그래서 ..
JavaScript 문제 : 2차원 배열(배열을 요소로 갖는 배열)을 입력받아 각 배열을 이용해 만든 객체를 리턴해야 합니다. 주의사항 : 중복되는 키의 경우, 초기의 값을 사용합니다. 빈 배열을 입력받은 경우, 빈 객체를 리턴해야 합니다. arr[i]의 길이가 0인 경우, 무시합니다. 어떻게 풀지 생각해보기 : 왼쪽의 결과처럼 나와야 한다. 배열안의 배열의 첫번째 요소를 key 두번째 요소를 value로 하는 객체를 만들어 주면 된다. 하드코드를 작성해보면 obj[arr[0][0]] = arr[0][1] obj[arr[1][0]] = arr[1][1] obj[arr[2][0]] = arr[2][1] obj[arr[i][0]] = arr[i][1] 이렇게 해주면 되는 거고 이걸 반복문 처리해주면 된다. ..
Javascript 문제 : 수를 입력받아 2의 거듭제곱인지 여부(boolean 타입)를 리턴해야 합니다. 주의사항 : 반복문(while)을 사용해야 합니다. 2의 0승은 1입니다. Number.isInteger, Math.log2, Math.log 사용은 금지 됩니다. 나는 이렇게 수를 입력받아 2의 거듭제곱인지 여부(boolean 타입)를 리턴하는 함수를 구현했다. 그리고 지금 다시 보니 첫번째 조건문에 "num === 2"라는 조건은 없어도 된다. 이렇게 만들고 레퍼런스 코드는 어떤지 확인해 보았는데, 레퍼런스 코드는 조금 달랐다. 처음 조건문은 1을 입력받으면 그냥 true를 출력하게 했고, 두번째 조건문은 짝수이면 false를 출력해라??, 그리고 초기 거듭제곱수(powered)를 2로 할당해주..