문제)
문자열에서 알아야 할 것
풀이
맨첫글자 인덱스가 마지막 글자 인덱스가 된다는걸 풀이하면
ALPHABET[0] > ALPHABET[ALPHABET.length -1] 가 되네요
그래서
ALPHABET[3] > ALPHABET[ALPHABET.length -1 -3]
이 되겠네요
console.log(str[i])를 하니까 문자가 하나씩 떼어졌다
공백인 경우 공백으로 놔두겠다는 것 부터 만들자
공백인 경우 공백으로 놔두고 다음은 continue를 해서 다시 for문 조건식으로 간다
그리고 대문자인 경우를 해결 하기 위해 대문자를 알아보는 방법은
변수 ALPHABET가 소문자 잖아? 이 소문자 문자열에 포함되지 않은 경우가
대문자가 되겠지 그럼 식으로 풀면
indexOf를 사용해서 str[i]에 해당하지 않으면 -1을 출력할꺼 아니야
ALPHABET에 속하지 않을 경우 -1을 반환한다 (그게 대문자란 거지 다른 변수는 없어)
그래서 대문자일 경우
toLowerCase()로 소문자로 만들어주고
ALPHABET변수에 인덱스로 [ALPHABET.length -1에 대문자 인덱스를 -(마이너스) 해준다]
그리고 그 값을 toUpperCase()로 다시 대문자로 만들어주고
그걸 해석본에 추가하면
해석본 = 해석본 + ALPHABET[ALPHABET.length -1 - 대문자 인덱스].toUpperCase();
그럼 소문자인 경우는 인덱스가 -1이 아닌 경우 이니까 else로 하고
마지막에 인덱스를 - (마이너스) 해주면 된다
그럼 for문의 끝에 return을 해주면 된다
'알고리즘' 카테고리의 다른 글
문자열 관련 메소드 replaceAll (0) | 2024.11.10 |
---|---|
문자열 관련 메소드 split, join (0) | 2024.11.03 |
반복문 문제 (0) | 2024.11.03 |
반복문 filter (0) | 2024.11.03 |
반복문 map (0) | 2024.11.03 |