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.)