코딩테스트에서 자주 쓰이는 해결법 모음

백돼지·2023년 4월 14일
0
post-thumbnail

1. 배열에서 한 번만 등장하는 문자 찾기

프로그래머스 0단계 "한 번만 등장한 문자"

난 반복문을 돌려서 배열을 .sort()로 문자끼리 정렬시켜준 다음 ,
각 요소의 바로 전 요소와 바로 다음 요소가 모두 다르지 않다면
result 배열에 push해주는 방법으로 해결을 했는데,
나름 신선하다고 생각했는데 아래 방법이 더욱 좋은것 같다.

해결 방법: 요소가 등장하는 첫번째 인덱스와 마지막 인덱스가 같다면 한번만 등장한 요소

let s = "abcabcadc";

function solution(s) {
    let result = [];
    for (let el of s) if (s.indexOf(el) === s.lastIndexOf(el)) result.push(c);
    return result.sort().join('');
}	
		//"d"

배열의 요소중에 숫자만 반환하기

프로그래머스 1단계 "문자열 다루기 기본"

지금까지 문제를 풀면서 가장 많이 등장했던 것 중 하나라고 생각한다.
배열의 요소를 map으로 돌릴때 el이 숫자가 아니라면(문자열이라면)
제외하거나 특정 문자열로 변환하는 것이다.
이건 isNaN()을 사용해주면 쉽게 해결할 수 있다.

let arr = ["a","1","2","3"] //여기서 "a"만 "돼지"로 바꾸고 싶다면?

let result = arr.map(el=>{ return isNaN(Number(el)) ? "돼지" : el }) 
										   //["돼지", "1", "2", "3"]
return result.includes("돼지") ? true : false
//includes()를 사용해 "돼지"의 포함 유무에 따라 다른 리턴값이 나오게 할 수도 있다.
profile
용호의 코딩블로그 22.11 코딩공부 시작 23.2 부트캠프 입소

0개의 댓글