본문 바로가기
프로그래밍/자바스크립트

프로그래밍 「 자바스크립트 편」Codewars 솔루션 : 'gninnipS 내 sdroW를 중지하십시오!' .split () / .map ()

by grapedoukan 2023. 7. 2.
728x90
코드워즈

이전 게시물에서는 자바 스크립트 배열 메서드 .split() , .forEach () 및 .map () 을 다루었으며, 마지막 글은 독자들에게 'Stop gninnipS My sdroW!'라는 환상적인 Codewars 챌린지를 지적했습니다. 이 기사에서는 이전 기사를 사용하여 작업에 대한 솔루션을 간략하게 설명합니다.

모르는 사람들을 위해 문서에 따르면 codewars는 '다양한 유형과 난이도의 프로그래밍 작업을 해결하여 코딩 기술을 배우고, 훈련하고, 향상시키는 데 도움이 되는 플랫폼'입니다. 모든 수준의 경험을 위한 코딩 챌린지가 있으며, 사용자는 8부터 시작하여 자신의 큐 레벨을 올리는(기술적으로 잘 다운) 있습니다.

계정을 설정하고 코딩 경험이 있든 없든 문제를 해결하는 것이 좋습니다. 작업을 치우고 연구하는 것은 문제 해결과 관련하여 탄력성을 구축하고 새로 배운 기술과 구문으로 솔루션 속도를 높이는 좋은 방법입니다. 더 이상 고민하지 않고 작업은 다음과 같습니다.

'gninnipS 내 sdroW를 중지하십시오!' — codewars 작업. https://ray.so/ 사용하여 빌드된 코드 스니퍼

위에서 설명한 것처럼 하나 이상의 단어 문자열이 제공되며 이 문자열은 문자와 공백으로만 구성됩니다. 작업의 길고 짧은 부분은 이 문자열을 사용하고 5개 이상의 문자를 가진 모든 단어가 반전되는 다른 문자열을 반환하는 함수를 만들어야 한다는 것입니다.

 

따라서 먼저 함수를 설정하고 원래 문자열을 반환하여 모든 것이 순서대로 이루어 지도록합니다. 또한 기준을 달성하기 위해 수행하려는 단계와 작업할 테스트 입력을 간략하게 설명하는 몇 가지 의사 코드를 작성하려고 합니다.

https://ray.so/ 사용하여 빌드된 코드 스니퍼

우리는 이제 이것을 멋지게 설정하고 "이것은 또 다른 테스트입니다"라는 테스트 입력으로 단계를 배치했습니다., 즉, ""이것은 rehtona 테스트입니다"의 출력을 얻으려고 노력하고 있으며 "another"는 5+ 문자가 있는 유일한 단어이므로 유일하게 반전된 단어입니다.

이 문자열을 단어 배열로 분할해 보겠습니다. 따옴표 사이에 공백이 있는 .split(' ') 구문을 사용하여 split 메서드가 각 공백에서 문자열을 분할하고 공백이 제거되어 각 문자 집합이 배열의 항목으로 남도록 지시합니다.

https://ray.so/ 사용하여 빌드된 코드 스니퍼

내 '.split () it up'기사에서 언급했듯이 따옴표 사이에 공백을 버리면 공백을 포함하여 각 개별 문자의 배열을 얻을 수 있지만 여기서는 유용하지 않습니다.

 

이제 의사 코드의 2단계와 3단계로 이동하여 새로 형성된 단어 항목 배열을 반복하고 각 항목이 5+ 문자인지 확인(있는 경우 항목 반전)한 다음 조작된(필요한 경우) 항목으로 구성된 새 배열을 반환합니다.

.map() 은 배열 내의 각 항목을 조작 할 가능성이있는 항상 새 배열을 반환하므로 완벽합니다.

https://ray.so/ 사용하여 빌드된 코드 스니퍼

위의 스 니펫은 단어 배열을 매핑하고 각 항목 (단어)을 단어 문자 길이가 5 이상인지 확인하는 함수로 구문 분석하는 것을 보여줍니다. 항목이 실제로 이 기준을 충족하면 항목이 취소되고, 그렇지 않은 경우 항목이 수정 없이 반환됩니다. .map() 메서드를 사용하여 이 배열을 반복하고 각 항목에 대해 기능을 수행할 때 새로 형성된 깔끔한 배열이 출력으로 제공됩니다.

단어를 뒤집을 때 'return word.split("").reverse().join("");'을 사용하여 다소 3단계 프로세스를 거쳐야 한다는 것을 알 수 있습니다. 이는 .map 또는 .foreach 메서드와 마찬가지로 .reverse()가 배열에서만 성공적으로 실행되기 때문입니다. 즉, 단어를 뒤집어 문자열로 반환하려면 .split("") 을 통해 문자 배열로 분할 한 다음 .reverse() 로 반전시켜 단어 문자의 반전 배열을 남겨 두어야한다는 것을 의미합니다. 마지막으로 .join("")을 사용하여 이 배열을 다시 결합하고, 앞으로 이 프로세스에 대해 더 깊이 있는 게시물을 작성할 것입니다.

 

.join("") 메서드에 대한 이 언급은 새 배열을 결합하는 마지막 단계로 잘 안내합니다. 이제 배열 형식이지만 작업에 대한 올바른 출력이 있습니다. 이제 .join("") 메서드를 사용하여 문자열을 출력으로 제공하여 작업을 완료하고 멋진 codewards kata(본질적으로 Codewars 포인트)를 뱅킹합니다!

https://ray.so/ 사용하여 빌드된 코드 스니퍼

메서드의 끝에 .join(" ")을 연결하면 알 수 있듯이 당면한 작업과 관련하여 올바른 문자열을 반환합니다. join() 은 .split ()의 반대와 비슷하게 배열을 가져 와서 문자열을 반환 할 수 있습니다. 따옴표 사이에 공백을 던져 문자열을 반환할 때 배열 항목 사이에 공백이 배치되도록 합니다. 따옴표 사이에 아무 것도 없이 .join("")을 사용하면 문자열 또는 연결된 배열 항목이 반환됩니다.

728x90