CODE KATA #16
가장 긴 문자열
N개의 문자열이 입력되면 그 중 가장 긴 문자열을 출력하는 프로그램을 작성하세요.
나의 풀이
function solution(s){
let num = 5;
let idx = Number;
let answer="", max=Number.MIN_SAFE_INTEGER;
for(i=0; i<num; i++) {
if(s[i].length > max) {
idx = i;
max = s[i].length;
}
}
answer = s[idx];
return answer;
}
let str=["teacher", "time", "student", "beautiful", "good"];
console.log(solution(str));
정답 풀이
function solution(s){
let answer="", max=Number.MIN_SAFE_INTEGER;
for(let x of s){
if(x.length>max){
max=x.length;
answer=x;
}
}
return answer;
}
let str=["teacher", "time", "student", "beautiful", "good"];
console.log(solution(str));
N
개의 문자열이 주어진다는 것에 착안하여, num
을 활용하여 문제를 풀었는데, 정답의 경우 N
이 주어지지 않더라도 풀 수 있는 과정으로 진행하였다.
Number.MIN_SAFE_INTEGER
Number.MIN_SAFE_INTEGER
상수는 JavaScript에서 안전한 최소 정수값을 나타냅니다. (-(253 - 1))
MIN_SAFE_INTEGER
는 Number의 정적 속성이기 때문에, 직접 생성한 Number 객체의 속성이 아니라Number.MIN_SAFE_INTEGER
형식으로 사용해야 합니다.
가운데 문자 출력
소문자로 된 단어(문자열)가 입력되면 그 단어의 가운데 문자를 출력하는 프로그램을 작성하세 요. 단 단어의 길이가 짝수일 경우 가운데 2개의 문자를 출력합니다.
나의 풀이
function solution(s){
let answer;
let isOdd = s.length % 2;
let mid = Math.floor(s.length / 2);
if(isOdd) answer = s[mid];
else answer = s[mid-1]+s[mid];
return answer;
}
console.log(solution("good"));
정답 풀이
function solution(s){
let answer;
let mid=Math.floor(s.length/2)
if(s.length%2===1) answer=s.substring(mid, mid+1);
else answer=s.substring(mid-1, mid+1);
//if(s.length%2===1) answer=s.substr(mid, 1);
//else answer=s.substr(mid-1, 2);
return answer;
}
console.log(solution("study"));
String.prototype.substr()
인자 두개를 요구하며, 첫번째 인자는 시작 지점 index
, 두번째 인자는 시작 지점으로부터의 문자 갯수를 의미한다.
String.prototype.substring()
인자 두개를 요구하며, 첫번째 인자는 시작 지점 index
, 두번째 인자는 끝나는 지점 index
를 의미한다.(예를 들어, 끝나는 지점 index
가 3이라면, 2까지를 반환한다!)
Author And Source
이 문제에 관하여(CODE KATA #16), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@loopbackseal/CODE-KATA-16저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)