Code Kata
この問題は条件を一つも解けずに終わった問題だ.
1.質問
1.質問 strs은 단어가 담긴 배열입니다. 공통된 시작 단어(prefix)를 반환해주세요.
예를 들어 strs = ['start', 'stair', 'step'] return은 'st'
strs = ['start', 'wework', 'today'] return은 ''
2.最終コード const getPrefix = strs => {
let strings = strs[0];
if(strs.length === 0){
return '';
}
for(let i=0; i<strs.length; i++){
for(let j=0; j<strings.length; j++){
if(strs[i][j] !== strings[j]) {
strings = strs[i].slice(0,j);
}
}
}
return strings;
}
getPrefix(['start', 'stair', 'step']);
3.解法
手順1。コード設計と起動
配列の最初のデータを次の配列のデータと比較します.
データが一致しない場合は、データを一致する場所に抽出します.
このように作戦計画を立てて、コードを騒がせます.const getPrefix = strs => {
// const strings = strs[0];
let strings = strs[0];
if(strs.length === 0){
return '';
}
}
最初からエラーが発生しました.配列の最初のデータを指定すると、
constの使用後にエラーが発生しました.
それからletに変えて再使用し、エラーは消えました.
配列内のデータは常に変更可能なデータです.
constで固定するとエラーが発生します.
アレイにデータがない場合もあると思います.
ifでデータがない場合を作成しました.
手順2。データが一致しない場合
const getPrefix = strs => {
// const strings = strs[0];
let strings = strs[0];
if(strs.length === 0){
return '';
}
for(let i = 0; i < strs.length; i++) {
for(let j = 0; j < strings.length; j++) {
if(strs[i][j] !== strings) {
}
}
}
}
配列内のデータを1つずつ比較するには、重複文を使用します.
有効と考える.だから2階建てのドアを使っています.
二重for文を使用するには理由があります.
こう並べて👉 [][アレイ内のデータへのアクセスを許可する]
なぜなら.
(今わかりました.偶然知りましたが、やっぱり、
今回最初の発見者も私ではありませんでした.
strs[i][j]は、配列内の各文字にアクセスできます.
stringは、配列内の最初のデータを指すように設定されます.
配列の最初の単語と次の単語が異なる場合は、
条件を満たした.const getPrefix = strs => {
// const strings = strs[0];
let strings = strs[0];
if(strs.length === 0){
return '';
}
for(let i = 0; i < strs.length; i++) {
for(let j = 0; j < strings.length; j++) {
if(strs[i][j] !== strings) {
strings = strs[i].slice(0,j);
}
}
}
return strings
}
条件が正しい場合は、sliceでカットした単語で最初の単語を作成します.
配列の最初の単語stringsを返します.
手順3。コードの変更
条件が一致しないため、コードは通過しませんでした.
見回して、どんな面で間違いを犯したのか知りたい.
条件をあげるときは、それぞれの言葉を比較しなければなりません.
私が書いたコードは単語です!=字である以上.
コードはもちろん通らなかった.
stringの各文字を見るためにfor文jを用いた.
(string自体は単語を指しています.
単語を巡るfor文のjを使ってください
テキスト文字の条件を作った.const getPrefix = strs => {
// const strings = strs[0];
let strings = strs[0];
if(strs.length === 0){
return '';
}
for(let i = 0; i < strs.length; i++) {
for(let j = 0; j < strings.length; j++) {
if(strs[i][j] !== strings[j]) {
strings = strs[i].slice(0,j);
}
}
}
return strings
}
そしてコードを通過するように要求した結果、解決しました.
Reference
この問題について(Code Kata), 我々は、より多くの情報をここで見つけました
https://velog.io/@betterplaywon/Code-Kata
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
strs은 단어가 담긴 배열입니다. 공통된 시작 단어(prefix)를 반환해주세요.
예를 들어 strs = ['start', 'stair', 'step'] return은 'st'
strs = ['start', 'wework', 'today'] return은 ''
const getPrefix = strs => {
let strings = strs[0];
if(strs.length === 0){
return '';
}
for(let i=0; i<strs.length; i++){
for(let j=0; j<strings.length; j++){
if(strs[i][j] !== strings[j]) {
strings = strs[i].slice(0,j);
}
}
}
return strings;
}
getPrefix(['start', 'stair', 'step']);
3.解法
手順1。コード設計と起動
配列の最初のデータを次の配列のデータと比較します.
データが一致しない場合は、データを一致する場所に抽出します.
このように作戦計画を立てて、コードを騒がせます.const getPrefix = strs => {
// const strings = strs[0];
let strings = strs[0];
if(strs.length === 0){
return '';
}
}
最初からエラーが発生しました.配列の最初のデータを指定すると、
constの使用後にエラーが発生しました.
それからletに変えて再使用し、エラーは消えました.
配列内のデータは常に変更可能なデータです.
constで固定するとエラーが発生します.
アレイにデータがない場合もあると思います.
ifでデータがない場合を作成しました.
手順2。データが一致しない場合
const getPrefix = strs => {
// const strings = strs[0];
let strings = strs[0];
if(strs.length === 0){
return '';
}
for(let i = 0; i < strs.length; i++) {
for(let j = 0; j < strings.length; j++) {
if(strs[i][j] !== strings) {
}
}
}
}
配列内のデータを1つずつ比較するには、重複文を使用します.
有効と考える.だから2階建てのドアを使っています.
二重for文を使用するには理由があります.
こう並べて👉 [][アレイ内のデータへのアクセスを許可する]
なぜなら.
(今わかりました.偶然知りましたが、やっぱり、
今回最初の発見者も私ではありませんでした.
strs[i][j]は、配列内の各文字にアクセスできます.
stringは、配列内の最初のデータを指すように設定されます.
配列の最初の単語と次の単語が異なる場合は、
条件を満たした.const getPrefix = strs => {
// const strings = strs[0];
let strings = strs[0];
if(strs.length === 0){
return '';
}
for(let i = 0; i < strs.length; i++) {
for(let j = 0; j < strings.length; j++) {
if(strs[i][j] !== strings) {
strings = strs[i].slice(0,j);
}
}
}
return strings
}
条件が正しい場合は、sliceでカットした単語で最初の単語を作成します.
配列の最初の単語stringsを返します.
手順3。コードの変更
条件が一致しないため、コードは通過しませんでした.
見回して、どんな面で間違いを犯したのか知りたい.
条件をあげるときは、それぞれの言葉を比較しなければなりません.
私が書いたコードは単語です!=字である以上.
コードはもちろん通らなかった.
stringの各文字を見るためにfor文jを用いた.
(string自体は単語を指しています.
単語を巡るfor文のjを使ってください
テキスト文字の条件を作った.const getPrefix = strs => {
// const strings = strs[0];
let strings = strs[0];
if(strs.length === 0){
return '';
}
for(let i = 0; i < strs.length; i++) {
for(let j = 0; j < strings.length; j++) {
if(strs[i][j] !== strings[j]) {
strings = strs[i].slice(0,j);
}
}
}
return strings
}
そしてコードを通過するように要求した結果、解決しました.
Reference
この問題について(Code Kata), 我々は、より多くの情報をここで見つけました
https://velog.io/@betterplaywon/Code-Kata
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
const getPrefix = strs => {
// const strings = strs[0];
let strings = strs[0];
if(strs.length === 0){
return '';
}
}
const getPrefix = strs => {
// const strings = strs[0];
let strings = strs[0];
if(strs.length === 0){
return '';
}
for(let i = 0; i < strs.length; i++) {
for(let j = 0; j < strings.length; j++) {
if(strs[i][j] !== strings) {
}
}
}
}
const getPrefix = strs => {
// const strings = strs[0];
let strings = strs[0];
if(strs.length === 0){
return '';
}
for(let i = 0; i < strs.length; i++) {
for(let j = 0; j < strings.length; j++) {
if(strs[i][j] !== strings) {
strings = strs[i].slice(0,j);
}
}
}
return strings
}
const getPrefix = strs => {
// const strings = strs[0];
let strings = strs[0];
if(strs.length === 0){
return '';
}
for(let i = 0; i < strs.length; i++) {
for(let j = 0; j < strings.length; j++) {
if(strs[i][j] !== strings[j]) {
strings = strs[i].slice(0,j);
}
}
}
return strings
}
Reference
この問題について(Code Kata), 我々は、より多くの情報をここで見つけました https://velog.io/@betterplaywon/Code-Kataテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol