외계어 사전
PROGRAMMERS-962 행성에 불시착한 우주비행사 머쓱이는 외계행성의 언어를 공부하려고 합니다. 알파벳이 담긴 배열 spell
과 외계어 사전 dic
이 매개변수로 주어집니다. spell
에 담긴 알파벳을 한번씩만 모두 사용한 단어가 dic
에 존재한다면 1, 존재하지 않는다면 2를 return하도록 solution 함수를 완성해주세요.
function solution(spell, dic) {
let answer = [];
let dup = 0;
//indexOf()와 lastIndexOf()가 같으면 한번 사용
//같은데 -1이면 미사용, 다르면 두번 이상 사용
dic.forEach(function(x) {
dup = 0;
for(let j of spell) {
if(x.indexOf(j) !== x.lastIndexOf(j)) {
dup += 1;
break;
} else {
if(x.indexOf(j) === -1) {
dup += 1;
break;
}
}
}
if(dup === 0) {
answer.push(x);
}
});
return answer.length > 0 ? 1 : 2;
}
평행
점 네 개의 좌표를 담은 이차원 배열 dots
가 다음과 같이 매개변수로 주어집니다.
[[x1, y1], [x2, y2], [x3, y3], [x4, y4]]
주어진 네 개의 점을 두 개씩 이었을 때, 두 직선이 평행이 되는 경우가 있으면 1을 없으면 0을 return 하도록 solution 함수를 완성해보세요.
function solution(dots) {
let answer = [];
let x = 0;
let y = 0;
//직선의 기울기 (y2 - y1) / (x2 - x1)
//x1과 x2가 같을 때 기울기는 y1
for(let i = 0; i < 3; i++) {
x = 0;
y = 0;
for(let j = i + 1; j < 4; j++) {
x = dots[j][0] - dots[i][0];
y = dots[j][1] - dots[i][1];
//answer[점12, 점13, 점14, 점23, 점24, 점34]
if(x === 0) {
answer.push(0);
} else {
answer.push(y / x);
}
}
}
//서로 다른 두개의 점을 이을 경우에만 확인
return answer[0] === answer[5] || answer[1] === answer[4] || answer[2] === answer[3] ? 1 : 0;
}
'코딩테스트' 카테고리의 다른 글
뇌주름 살리기 - 18 (0) | 2025.02.02 |
---|---|
뇌주름 살리기 - 17 (0) | 2025.01.31 |
뇌주름 살리기 - 15 (0) | 2025.01.24 |
뇌주름 살리기 - 14 (0) | 2025.01.24 |
뇌주름 살리기 - 13 (1) | 2025.01.22 |