https://school.programmers.co.kr/learn/courses/30/lessons/42576
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
function solution(participant, completion)
{
var arr = [];
participant.sort(); // 사전순서대로 정렬해준다.
completion.sort(); // 사전순서대로 정렬해준다.
for (i=0;i<participant.length; i++)
{ // participant 전체에 대해
if (participant[i]!==completion[i])
{ // completion과 다른 원소를 발견하면
arr.push(participant[i]);
// 그 원소를 arr에 push하고
break; // 루프를 중지한다
}
}
return arr.join('');
// arr을 문자열로 바꿔 return한다.
}
사전순서대로 정렬하면 for문 여러개 안써도 빨리 해결할 수 있음.
이거 썼는데 효율성 테스트에서 실패 떴음
function solution(participant, completion)
{
for (i=participant.length; i>=0; i--)
{
for(j=completion.length; j>=0; j--)
{ // participant와 completion의 모든 원소들에 대해,
if (participant[i]==completion[j])
{ // 원소가 같다면
participant.splice(i,1);
// participant에서도 그 원소를 삭제해 주고
completion.splice(j,1);
// completion에서도 그 원소를 삭제해 준다.
}
}
}
return participant.join('');
}
'코딩테스트 > LV. 1' 카테고리의 다른 글
LV. 1 :: 2016년 (0) | 2023.01.27 |
---|---|
LV. 1 :: 이상한 문자 만들기 (0) | 2023.01.27 |
LV. 1 :: 최대공약수와 최소공배수 (0) | 2023.01.24 |
LV. 1 :: 문자열 다루기 기본 (0) | 2023.01.24 |
LV. 1 :: 합성수 찾기 (0) | 2023.01.24 |
댓글