728x90

문제설명

입력 & 출력

예제 출력 1

1 0 -1 -1 2 -1 -1 -1 -1 4 3 -1 -1 7 5 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

 

나의 풀이

 

a~z까지 알파벳 배열을 Array.fromfromCharCode() 함수를 사용해서 만들어줍니다.

 

왼쪽 아스키코드표를 보면 97번 소문자 a를 시작으로 122번 소문자 z까지 나와있습니다.

 

이를 참고해서 우리가 원하는 알파벳은 소문자 a~z기 때문에 시작점에 97을 더해서 해당하는 문자를 생성합니다.

 

그러면 알파벳 배열이 다음과 같이 만들어지게 됩니다. ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']

 

그리고 입력받은 단어 S의 길이만큼 반복하는 기본 for문을 사용합니다.

 

그리고 indexOf() 함수를 사용하여 문자열 S의 각 요소가 alphabet 배열에 존재한다면 해당 index를 없다면 -1을 result 배열에 넣어줍니다.

 

마지막으로 join()을 사용하여 공백으로 구분해서 출력하여 마무리해 줍니다.

 

 

 

 

 

refactoring ✅

 

알파벳을 직접 생성하지 않고 아스키코드를 사용한 방법입니다.

 

i의 시작과 끝을 97~122로 설정하고, indexOf() 메서드fromCharCode()를 사용하여 아스키 코드 번호를 문자로 반환받아 해당 index를 구해주었습니다.

 

 

위 코드는 아스키 코드 번호를 지정하지 않고 charCodeAt()을 사용하여 문자의 아스키 코드를 받아 i의 범위를 지정해 주었습니다.

 

참고 ❗

 

[JavaScript] 문자열 포함 여부 함수 (indexOf, search, includes, startsWith, endsWith)

1. indexOf HTML 삽입 미리보기할 수 없는 소스 구문 searchValue (필수) 검색하고 싶은 문자열 대소문자를 구분하며, 아무 값도 주어지지 않으면 문자열 "undefined"를 찾으려는 문자열로 사용합니다. fromIn

pixx.tistory.com

 

[JavaScript] charCodeAt(), fromCharCode() 알아보기

코딩을 하다 보면 문자의 아스키코드(ASCII) or Unicode가 필요할 때가 있습니다. 이때 문자의 아스키코드를 구할 수 있는 charCodeAt()와 fromCharCode()메서드를 알아보고자 합니다. charCodeAt() string.charCodeAt

pixx.tistory.com