プログラマー|オープンチャットルームJS
2251 ワード
難易度:Level.2
言語:Javascript
出題履歴:2019 KAO BLIND RECRUITMENT
オープンチャットルームの情報を印刷します.
オブジェクトを使用してアイデンティティに基づいて名前を付けます.
しかし、答えは否定的だ.
正解だからいい感じ
オープンチャットルーム参考ブログ
言語:Javascript
出題履歴:2019 KAO BLIND RECRUITMENT
❓ Question
オープンチャットルームの情報を印刷します.
📝 My Solution
フルプールコード 👈🏻 クリックしてGithubに移動
function solution(record) {
var answer = [];
const strArr = [];
const uidArr = [];
const idArr = [];
const idObj = {};
for (let i = 0; i<record.length; i++) {
let split1 = record[i].split(',');
let split2 = split1[0].split(' ');
strArr.push(split2[0]);
uidArr.push(split2[1])
idArr.push(split2[2])
}
for (let i = 0; i<uidArr.length; i++) {
if (idArr[i] !== null) {
idObj[uidArr[i]] = idArr[i];
}
}
メール、アイデンティティ、および名前を含める配列に適切な値を入力します.オブジェクトを使用してアイデンティティに基づいて名前を付けます.
for (let i = 0; i<strArr.length; i++) {
if (strArr[i] === 'Enter') {
answer.push(idObj[uidArr[i]]+"님이 들어왔습니다.")
} else if (strArr[i] === "Leave") {
answer.push(idObj[uidArr[i]]+"님이 나갔습니다.")
}
}
return answer;
}
次に、コマンドに従って名前値とメッセージを出力し、正しい配列に入れます.しかし、答えは否定的だ.
📝 Another Solution
function solution(record) {
let answer = [];
let newArr = record.map((str) => str.split(" "));
let nickNameSet = {};
for (let i = 0; i < newArr.length; i++) {
if (newArr[i].length === 3) {
nickNameSet[newArr[i][1]] = newArr[i][2];
}
}
for (let i = 0; i < newArr.length; i++) {
if (newArr[i][0] === "Enter") {
answer.push(nickNameSet[newArr[i][1]] + "님이 들어왔습니다.");
} else if (newArr[i][0] === "Leave") {
answer.push(nickNameSet[newArr[i][1]] + "님이 나갔습니다.");
}
}
return answer;
};
似ているように見えますが、違う方法で行い、正解だからいい感じ
結果
コメントブログ
Reference
この問題について(プログラマー|オープンチャットルームJS), 我々は、より多くの情報をここで見つけました https://velog.io/@sstaar91/Algorithm-Programmers-OpenChatテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol