<제출답안>
unshift를 통해 앞에서부터 돌려서 문자를 반대로 돌렸다.
맞게 풀긴했다. 하지만 밑 코드 보단 효율은 썩 좋지 않다.
function solution(s){
let arr2 =[];
let arr1 = s.toUpperCase();
for(let i of arr1){
arr2.unshift(i)
}
if(arr1 === arr2.join("")){
return "Yes"
}else{
return "No"
}
}
let str="gooG";
console.log(solution(str));
<다른 풀이>
이런식으로 투 포인터로 배열의 앞과 뒤에서 동시에 접근하는 방식.
이런 방식이 나중에 고급문제들 가면 더 필요하다.
다양한 방식으로 푸는게 정말 중요하다.
아님 reverse()메서드로 돌려도 된다.
이 방법은 문자열의 절반만큼만 반복하므로 시간 복잡도가 O(n/2)가 되어 조금 더 효율적입니다.
|
1
2
3
4
5
6
7
8
9
10
11
12
|
function solution(s){
let answer="YES";
s=s.toLowerCase();
let len=s.length;
for(let i=0; i<Math.floor(len/2); i++){
if(s[i]!=s[len-i-1]) return "NO";
}
return answer;
}
let str="goooG";
console.log(solution(str));
|
cs |
'🗃️javascript > 코테 프레임 문제' 카테고리의 다른 글
| 1-5 최솟값 구하기 [Number.MAX_SAFE_INTEGER(내장 상수)] (0) | 2023.09.16 |
|---|---|
| 1-4 1부터 N까지의 합(24년 업데이트) (0) | 2023.09.15 |
| 2-2보이는 학생(24년 △)[reduce의 리턴문은 이전 문자,배열,객체 상태 저장] (0) | 2023.09.15 |
| 2-1 큰 수 출력하기(24년 △)[map()에서의 continue, break ] (0) | 2023.09.14 |
| 1-3 연필 개수[Math 객체함수들 알아보기] (0) | 2023.09.14 |