어느 연못에 엄마 말씀을 좀처럼 듣지 않는 청개구리가 살고 있었다. 청개구리는 엄마가 하는 말은 무엇이든 반대로 말하였다.
엄마 말씀 word가 매개변수로 주어질 때, 아래 청개구리 사전을 참고해 반대로 변환하여 return 하도록 solution 메서드를 완성하라.
| 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A |
- word는 길이가 1 이상 1,000 이하인 문자열이다.
- 알파벳 외의 문자는 변환하지 않는다.
- 알파벳 대문자는 알파벳 대문자로, 알파벳 소문자는 알파벳 소문자로 변환한다.
| word | result |
|---|---|
| "I love you" | "R olev blf" |
그러면 아스키 코드 또는 배열로 정해놓고 전체에서 빼서 돌리는 것도 있겠다...
알파벳 : 26개 0부터 25 0이면 25 = 25 10이면 15 = 25 12이면 13 = 25
m과 n이 제일 가깝고 서로 바뀜
아 n과 25-n의 인덱스 !
배열을 푸시해서 만들고 word의 인덱스를 하나하나 map으로 25-n을 해서 다시 만들고 문자열로 만들면 되겠다! 그리고 소문자로 받았으니 나중에 따로 대문자로 만들어주면 될꺼같은데?
문자열 => 97~122 니까 아스키 코드로 받은 수를 122에 빼면 인덱스 번호가 될듯?
근데 아스키 코드 안쓰니까 너무 복잡하다...
그냥 아스키 코드 쓰면서 하자
아스키 코드로 변환해주는 함수는 charCodeAt()
아스키 코드를 문자로 변환하는 함수는 fromCharCode()
받아와서 charCodeAt() 하고 122-코드번호 하면 처음에 만든 배열에서
문자 받아오고
// 해결 : 띄어쓰기(3) , 대소문자(2) , 알파벳 역전(1) // 1.다 바꾼 상태 // 2.공백 대문자 소문자 // 3.공백이면 32 그대로 / 소문자면 122 - 인덱스 번호 / 대문자면 122 -인덱스번호 소문자 소문자에 toUpperCase() // 4.문자열 합치기