일전에 뭐 게임 회사에서 본 간단한 퀴즈 테스트 입니다.
0~9까지의 문자로 된 숫자를 입력 받았을 때, 이 입력 값이 0~9까지의 숫자가 각각 한 번 씩만 사용된 것인지 확인하는 함수를 구하시오.
sample inputs: 0123456789 01234 01234567890 6789012345 012322456789
sample outputs: true false false true false
Javascript
var isDigitOneUsed = function(str) {
if (str.length < 10 || str.length > 10)
return false;
return isDuplicate(str);
},
isDuplicate = function(str) {
var usedMap = {};
for (var i=0; i<str.length; i++) {
if (usedMap[str[i]]) return false;
else usedMap[str[i]] = true;
}
return true;
};
//test
var input = '0123456789 01234 01234567890 6789012345 012322456789'.split(' ');
for (var i=0; i<input.length; i++)
console.log(isDigitOneUsed(input[i]))
2015年09月17日 23:32
Javascript 입니다.
function check(str){
var arr = new Array(10),
num;
if (str.length !== 10){
return false;
}
for (var i = 0; i < str.length; i++){
num = parseInt(str.charAt(i));
if (arr[num]){
return false;
}
arr[num] = true;
}
return true;
}
var s = ["0123456789", "01234", "01234567890", "6789012345", "012322456789"];
var i = 0;
while(i < s.length){
console.dir(check(s[i]));
i++;
}
2016年01月11日 12:16
javascript
var once = str => str.split("").sort().join("") === "0123456789";
var input = ["0123456789", "01234", "01234567890", "6789012345", "012322456789"];
for (s of input) {
console.log(`${s} : ${once(s)}`);
}
2017年06月20日 17:33
자바스크립트입니다! 처음에 하나하나 세는식으로 풀다가 다른분들 풀이보고 다시 풀어 보았습니다!!
var input;
var output = 'true';
var _input = new Array();
var seperatedInput = input.split('');
for(var i = 0; i < seperatedInput.length; i++) {
_input.push(parseInt(seperatedInput[i]));
}
var checkList = new Array();
for(i = 0; i < 10; i++) {
checkList[i] = 0;
}
if(_input.length != 10) {
output = 'false';
} else {
for(i = 0; i < _input.length; i++) {
checkList[_input[i]]++;
if(checkList[_input[i]] > 1) {
output = 'false';
}
}
}
console.log(output);
//다시 만들어보기
var input;
var output = 'true';
var _input = new Array();
var seperatedInput = input.split('');
for(var i = 0; i < seperatedInput.length; i++) {
_input.push(parseInt(seperatedInput[i]));
}
_input.sort()
var join = _input.join('');
if(_input.length != 10) {
output = 'false';
} else {
if(join !== '0123456789') {
output = 'false';
}
}
console.log(output);
var input = '0123456789 01234 01234567890 6789012345 012322456789';
var list = input.split(' ');
for (var i = 0; i < list.length; i++) {
var arr = new Array(10);
arr.fill(0);
for (var j = 0; j < list[i].length; j++) {
arr[list[i][j]]++;
}
var filter = arr.map(function (a, b) {
return !(a > 1 || a == 0)
});
console.log(filter.indexOf(false) === -1);
}
var compare = [];
var flag = true;
function calc(x) {
compare = x.toString().split("")
for(i=0; i<compare.length; i++) {
for(j=i+1; j<compare.length; j++) {
if(compare[i] === compare[j]) {
flag = false; //false면 반복 더 돌릴 필요 없음
break;
}
}
}
return flag
}
2021年11月23日 15:05
풀이 작성