codingTest 3

[Programmers] 소수 찾기, 에라토스테네스의 체

문제 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 1000000이하의 자연수입니다. 코드 풀이 주어진 숫자가 배열 형태가 아니므로, 첫 번째로 반복문을 등장시켜서 소수를 찾기 위한 숫자 집합을 만들어준다. 1은 자연스럽게 제외가 되니 2부터 시작해 n까지 배열에 넣어준다. 이때 arr[0], arr[1]은 채워지지 않아서 undefined이 될 것이지만, 구하는 것은 소수의 개수이므로 filter 메서드를 통해서 지워나갈 수 있다. 만들어진 배열을 순회하면서 소수가 아닌 수들을 제거해줄 목적으로 0을 넣어준다. i = 2일 때, i번째에 위치..

[Programmers] JavaScript에서 문자열 내림차순으로 정렬하기

문제 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 제한 사항 str은 길이 1 이상인 문자열입니다. 입출력 예 ZbcdefggfedcbZ 코드 풀이 JavaScript의 sort() 메소드는 문자열의 유니코드 코드 포인트를 따른다. 유니코드에서는 대문자가 소문자보다 크므로, 주어진 문자열에 sort() 메소드를 적용하면 abcdef...ABCD... 순으로 정렬될 것이다. 이를 reverse() 메서드를 이용해 뒤집으면 ZYXW... fedcba 순으로 정렬될 것이다. 대문자가 소문자보다 작은 것으로 간주되므로 reverse() 메서드로 끝이 ..

[Programmers] JavaScript에서 문자열을 정수로 바꾸기

문제 주어진 문자열 입력값을 숫자로 변환 해 반환한다. 조건 1. 문자열의 길이는 1 이상 5 이하 2. 문자열의 가장 앞에는 부호(+ 또는 -)가 올 수 있다. 3. 문자열은 부호와 숫자로만 이루어져 있다. 4. 문자열은 "0"으로 시작하지 않는다. 코드 풀이 Java의 경우라면, 문자열.contains를 써서 특정 패턴이 문자열 내 있는지 검사하고 boolean 값을 반환하는 함수를 쓸 수 있지만, JavaScript에는 해당 함수가 없다. 대신, indexOf 메서드를 통해 특정 패턴을 검사하고, 해당 패턴이 존재하지 않을 경우 -1를 받는다. indexOf는 첫 번째 인자로 검사하고자 하는 패턴을 입력하고, 두 번째 인자(optional)로는 어느 범위부터 검사할지, 즉 starting point..