알고리즘을 위한 PREP 기법
7316 단어 javascript
프렙이란?
PREP는 알고리즘 또는 코딩 문제에 접근하는 방법론입니다. 약어는 매개 변수, 반환, 예제, 의사 코드를 나타냅니다.
입력되는 인수의 유형은 무엇이며 다중 또는 기본 인수가 있습니까?
반환을 요청하는 내용과 유형은 무엇입니까?
특정 인수를 사용하여 함수를 호출할 경우 발생할 것으로 예상되는 2-3개의 예를 제공하십시오. 엣지 케이스를 생각할 수 있습니까?
문제를 해결하는 방법에 대한 비공식적인 단계를 작성하십시오. 매개변수가 무엇이며 예상 수익에 도달하기 위해 어떤 단계를 거쳐야 하는지 생각해 보십시오. "종속성"을 나타내는 모든 문장은 들여쓰기를 해야 합니다.
예
뒤집다()
문자열이 주어지면 반대 순서로 새 문자열을 반환합니다.
P - 단일 문자열 인수
R - 원래 문자열 인수의 반대인 문자열
E - 공백, 대문자 및 구두점 설명
// reverse('hello world') --> 'dlrow olleh'
// reverse('Love!') --> '!evoL'
// reverse('JavaScript') --> 'tpircSavaJ'
P - 아래 참조
function reverse(str) {
// With keyword let, declare & assign a variable reverseStr to ''
// Iterate over str from the last idx to the 0th idx
// Add the character at the current idx to reverseStr
// return reverseStr
}
이제 의사 코드 절차를 코드로 변환합니다.
해결책
function reverse(str) {
// With keyword let, declare & assign a variable reverseStr to ''
let reverseStr = ''
// Iterate over str from the last idx to the 0th idx
// Add the character at the current idx to reverseStr
for (let i=str.length-1; i>=0; i--) {
reverseStr+=str[i]
}
// return reverseStr
return reverseStr
}
대문자()
문자열을 받는 함수를 작성하십시오. 함수는 문자열에 있는 각 단어의 첫 글자를 대문자로 표시한 다음 대문자로 표시된 문자열을 반환해야 합니다.
P - 단일 문자열 인수
R - 원래 문자열 인수의 각 단어의 첫 번째 문자가 대문자인 문자열
E - 공백 및 구두점 설명
// capitalize('hello world!') --> 'Hello World!'
// capitalize('i love code') --> 'I Love Code'
// capitalize('one, two, three...') --> 'One, Two, Three..'
P - 아래 참조
function capitalize(str) {
// Split the str argument by the spaces ' ', creating an array of words
// With the array of words, use map method to capitalize each word's first element at index 0 & join it to the remaining word's letters
// Rejoin the words by a space ' '
// Wrap the code above in a return
}
이제 의사 코드 절차를 코드로 변환합니다.
function capitalize(str) {
// Split the str argument by the spaces ' ', creating an array of words
str.split(' ')
// With the array of words, use map method to capitalize each word's first element at index 0 & join it to the remaining word's letters
.map(word => word[0].toUpperCase() + word.slice(1))
// Rejoin the words by a space ' '
.join(' ')
// Wrap the code above in a return
}
마지막 단계에서는 return 키워드를 코드 블록의 맨 위로 가져와야 합니다.
해결책
function capitalize(str) {
return str.split(' ')
.map(word => word[0].toUpperCase() + word.slice(1))
.join(' ')
}
결론
알고리즘을 풀 때 매개변수를 생각하고 즉시 반환하는 것을 잊지 마십시오. 예제가 제공되지 않은 경우 이동하면서 테스트할 수 있도록 몇 가지를 직접 작성하십시오. 해결 방법에 대한 생각을 유사 코드화하고 코드로 변환할 수 있는 구문으로 유지합니다.
기억하세요... 즐거운 코딩, 친구들! =)
Reference
이 문제에 관하여(알고리즘을 위한 PREP 기법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/phariale/prep-technique-for-algorithms-in-js-5b0g텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)