본문 바로가기

Algorithm/JavaScript53

[basics] 중복 단어 제거 자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다. 📋 문제 N개의 문자열이 입력되면 중복된 문자열은 제거하고 출력한다. 이때 출력하는 문자열은 원래의 입력 순서를 유지한다. 👉 입력 길이가 100을 넘지 않는 N개의 문자열이 주어진다. 각 문자열은 줄바꿈으로 구분된다. 👈 출력 첫번째 줄부터 중복이 제거된 문자열을 입력 순서대로 출력한다. 📝 풀이 입력된 문자열들을 순회하며 해당 문자열이 answer라는 배열에 없을 경우 answer에 push한다. 이후 배열 안의 요소들에 공백을 추가하여 출력한다. 위와 같은 방식이지만 이 방식은 for of 문과 if 문 대신 filter를 사용해 해당 조건에 만족하는 문자열들을 추출한 후 공백을 추가한다. 2021. 12. 6.
[basics] 중복 문자 제거 자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다. 📋 문제 소문자로 이루어진 문자열이 입력되면 중복된 문자를 제거하고 출력한다. 이때, 문자열의 각 문자는 원래 문자열의 순서를 유지한다. 👉 입력 소문자로 이루어진 문자열이 입력된다. 👈 출력 중복된 문자가 제거된 문자열을 출력한다. 💡 사용된 개념 String.indexOf() String 객체에서 주어진 값과 일치하는 첫번째 인덱스를 반환한다. 일치하는 값이 없으면 -1을 반환한다. https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf String.prototype.indexOf() - JavaScript | MDN indexO.. 2021. 12. 6.
[basics] 가운데 문자 출력 자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다. 📋 문제 소문자로 된 문자열이 입력되면 그 문자열의 가운데 문자를 출력한다. 단, 문자열의 길이가 짝수일 경우 가운데 2개의 문자를 출력한다. 👉 입력 길이가 100을 넘지 않는 문자열이 입력된다. 👈 출력 문자열의 가운데 문자를 출력한다. 💡 사용된 개념 String.substring() string 객체의 시작 인덱스로부터 종료 인덱스 전까지의 부분 문자열을 반환한다. str.substring(indexStart[, indexEnd]) indexStart : 반환할 문자열의 시작 인덱스 indexEnd : 옵션. 반환할 문자열의 마지막 인덱스(포함하지 않는다.) String.substr() 문자열의 특정 위치에서 시작하여 특정 문자 수만큼.. 2021. 12. 6.
[basics] 대소문자 변환 자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다. 📋 문제 대문자와 소문자가 같이 존재하는 문자열을 입력받아 대문자는 소문자로, 소문자는 대문자로 변환하여 바뀐 문자열을 출력한다. 👉 입력 길이가 100을 넘지 않는 문자열이 입력된다. 👈 출력 대소문자가 서로 바뀐 문자열을 출력한다. 📝 풀이 String.toUpperCase() / String.toLowerCase() ver. 주어진 문자열의 문자들을 순회한다. 만약 해당 문자가 대문자라면 toLowerCase()를 이용해 소문자로 변환해 빈 문자열인 answer에 추가해나간다. 조건에 걸리지 않는다면 해당 문자는 소문자이므로 toUpperCase()를 이용해 대문자로 변환해 answer에 추가한다. String.charCodeAt() /.. 2021. 12. 6.
[basics] 가장 긴 문자열 자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다. 📋 문제 N개의 문자열이 입력되면 그중 가장 긴 문자열을 출력한다. 👉 입력 길이가 100을 넘지 않는 N개의 문자열이 입력된다. 이때 각 문자열의 길이는 서로 다르다. 👈 출력 가장 긴 문자열을 출력한다. 📝 풀이 주어진 문자열들을 순회하며 길이를 비교해 max의 값을 갱신해나간다. max의 값이 바뀐다면 answer에 해당 문자열을 저장한다. 2021. 12. 6.
[basics] 대문자 통일 자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다. 📋 문제 대문자와 소문자가 같이 존재하는 문자열을 입력받아 모든 문자를 대문자로 바꾼 후 바뀐 문자열을 출력한다. 👉 입력 길이가 100을 넘지 않는 문자열이 입력된다. 👈 출력 대문자로 통일된 문자열을 출력한다. 💡 사용된 개념 String.fromCharCode() 인자로 주어진 유니코드(UTF-16)들로부터 문자열을 생성해 반환한다. 📝 풀이 주어진 문자열의 각 문자들을 순회하며 빈 문자열인 answer에 해당 문자의 대문자를 추가해나간다. 다른 방법으로는 String.fromCharCode()를 사용하는 방법이 있다. 주어진 문자열의 문자들을 순회한다. 만약 해당 문자가 소문자라면(해당 문자의 chatCodeAt() 값이 97 ~ 12.. 2021. 12. 5.
[basics] 대문자 찾기 자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다. 📋 문제 한 개의 문자열을 입력받아 해당 문자열의 대문자 개수를 출력한다. 👉 입력 길이가 100을 넘지 않는 문자열이 입력된다. 👈 출력 해당 문자열 속 대문자의 개수를 출력한다. 💡 사용된 개념 charCodeAt() 주어진 인덱스에 대한 유니코드(UTF-16)를 나타내는 0 ~ 65535의 정수를 반환한다. str.charCodeAt(index) index : 0 이상 문자열 길이 미만의 정수. 기본값은 0. toUpperCase() 주어진 문자열을 대문자로 변환해 반환한다. 📝 풀이 for of 문을 이용해 주어진 문자열의 문자들을 순회한다. charCodeAt()을 이용해 해당 문자의 유니코드 값을 구한다. 만약 문자의 유니코드값이 .. 2021. 12. 5.
[basics] 문자 찾기 자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다. 📋 문제 한 개의 문자열과 특정 문자를 입력받아 해당 특정 문자가 입력받은 문자열에 몇 개 존재하는지를 찾고 개수를 출력한다. 👉 입력 길이가 100을 넘지 않는 문자열과 특정 문자가 주어진다. 👈 출력 특정 문자의 개수를 출력한다. 📝 풀이 인자로 문자열과 특정 문자를 받는다. for of 문을 사용해 문자열을 순회하며 특정 문자와 동일한 문자가 있으면 answer의 값을 하나씩 더해준다. 순회가 끝나면 answer를 출력한다. 다른 방법으로는 split()을 사용하는 방법이 있다. split()을 이용해 특정 문자를 기준으로 입력받은 문자열을 나눈다. 위 코드 속 주어진 문자열 COMPUTERPROGRAMMING을 특정 문자 R을 기준으로.. 2021. 12. 5.
[basics] A를 #으로 자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다. 📋 문제 대문자로 이루어진 영단어가 입력되면 단어에 포함된 'A'를 모두 '#'으로 바꾸어 출력한다. 👉 입력 첫번째 줄에 문자열이 입력된다. 👈 출력 첫번째 줄에 바뀐 단어를 출력한다. 💡 사용된 개념 String.replace() 어떤 패턴에 일치하는 일부 또는 모든 부분이 교체된 새로운 문자열을 반환한다. 패턴은 문자열이나 정규식이 될 수 있다. RegExp ignoreCase(i) : 문자열의 대소문자를 구분하지 않는다. global(g) : 정규표현식이 문자열 내에서 가능한 모든 경우에 일치하는지 판별한다. 더보기 String.replace() https://developer.mozilla.org/ko/docs/Web/JavaScri.. 2021. 12. 5.