forked from kkang123/Programmers_Algorithm
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
be9fb33
commit 3360f52
Showing
9 changed files
with
177 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
// 정수 n을 기준으로 n과 가까운 수부터 정렬하려고 합니다. 이때 n으로부터의 거리가 같다면 더 큰 수를 앞에 오도록 배치합니다. 정수가 담긴 배열 numlist와 정수 n이 주어질 때 numlist의 원소를 n으로부터 가까운 순서대로 정렬한 배열을 return하도록 solution 함수를 완성해주세요. | ||
|
||
function solution(numlist, n) { | ||
return numlist.sort((a, b) => Math.abs(n - a) - Math.abs(n - b) || b - a); | ||
} | ||
|
||
// 테스트 1 〉 통과 (0.10ms, 33.5MB) | ||
// 테스트 2 〉 통과 (0.14ms, 33.4MB) | ||
// 테스트 3 〉 통과 (0.12ms, 33.6MB) | ||
// 테스트 4 〉 통과 (0.08ms, 33.5MB) | ||
// 테스트 5 〉 통과 (0.08ms, 33.5MB) | ||
// 테스트 6 〉 통과 (0.06ms, 33.5MB) | ||
// 테스트 7 〉 통과 (0.07ms, 33.5MB) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
// 영어 점수와 수학 점수의 평균 점수를 기준으로 학생들의 등수를 매기려고 합니다. 영어 점수와 수학 점수를 담은 2차원 정수 배열 score가 주어질 때, 영어 점수와 수학 점수의 평균을 기준으로 매긴 등수를 담은 배열을 return하도록 solution 함수를 완성해주세요. | ||
|
||
function solution(score) { | ||
let 총합 = score.map((v) => v[0] + v[1]); | ||
let 정렬된배열 = 총합.slice().sort((a, b) => b - a); //slice를 통해서 원본배열이 안망가지게 하기 | ||
return 총합.map((v) => 정렬된배열.indexOf(v) + 1); | ||
} | ||
|
||
// 테스트 1 〉 통과 (0.06ms, 33.4MB) | ||
// 테스트 2 〉 통과 (0.14ms, 33.4MB) | ||
// 테스트 3 〉 통과 (0.19ms, 33.4MB) | ||
// 테스트 4 〉 통과 (0.06ms, 33.4MB) | ||
// 테스트 5 〉 통과 (0.06ms, 33.4MB) | ||
// 테스트 6 〉 통과 (0.07ms, 33.4MB) | ||
// 테스트 7 〉 통과 (0.20ms, 33.4MB) | ||
// 테스트 8 〉 통과 (0.14ms, 33.4MB) | ||
// 테스트 9 〉 통과 (0.14ms, 33.4MB) | ||
// 테스트 10 〉 통과 (0.14ms, 33.5MB) | ||
// 테스트 11 〉 통과 (0.07ms, 33.4MB) | ||
// 테스트 12 〉 통과 (0.10ms, 33.4MB) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
// 머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. | ||
|
||
function solution(babbling) { | ||
return babbling.filter((v) => v.replace(/aya|ye|woo|ma/g, "").trim() === "") | ||
.length; | ||
} | ||
|
||
// 테스트 1 〉 통과 (0.15ms, 33.4MB) | ||
// 테스트 2 〉 통과 (0.16ms, 33.6MB) | ||
// 테스트 3 〉 통과 (0.15ms, 33.5MB) | ||
// 테스트 4 〉 통과 (0.16ms, 33.5MB) | ||
// 테스트 5 〉 통과 (0.16ms, 33.4MB) | ||
// 테스트 6 〉 통과 (0.17ms, 33.4MB) | ||
// 테스트 7 〉 통과 (0.17ms, 33.5MB) | ||
// 테스트 8 〉 통과 (0.16ms, 33.4MB) | ||
// 테스트 9 〉 통과 (0.14ms, 33.5MB) | ||
// 테스트 10 〉 통과 (0.15ms, 33.5MB) | ||
// 테스트 11 〉 통과 (0.14ms, 33.5MB) | ||
// 테스트 12 〉 통과 (0.13ms, 33.4MB) | ||
// 테스트 13 〉 통과 (0.14ms, 33.5MB) | ||
// 테스트 14 〉 통과 (0.13ms, 33.5MB) | ||
// 테스트 15 〉 통과 (0.15ms, 33.4MB) | ||
// 테스트 16 〉 통과 (0.14ms, 33.6MB) | ||
// 테스트 17 〉 통과 (0.14ms, 33.4MB) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
// 머쓱이는 프로그래머스에 로그인하려고 합니다. 머쓱이가 입력한 아이디와 패스워드가 담긴 배열 id_pw와 회원들의 정보가 담긴 2차원 배열 db가 주어질 때, 다음과 같이 로그인 성공, 실패에 따른 메시지를 return하도록 solution 함수를 완성해주세요. | ||
|
||
// 아이디와 비밀번호가 모두 일치하는 회원정보가 있으면 "login"을 return합니다. | ||
// 로그인이 실패했을 때 아이디가 일치하는 회원이 없다면 “fail”를, 아이디는 일치하지만 비밀번호가 일치하는 회원이 없다면 “wrong pw”를 return 합니다. | ||
|
||
function solution(id_pw, db) { | ||
for (let i = 0; i < db.length; i++) { | ||
if (db[i][0] === id_pw[0]) { | ||
if (db[i][1] === id_pw[1]) { | ||
return "login"; | ||
} else { | ||
return "wrong pw"; | ||
} | ||
} | ||
} | ||
return "fail"; | ||
} | ||
|
||
// 테스트 1 〉 통과 (0.05ms, 33.5MB) | ||
// 테스트 2 〉 통과 (0.05ms, 33.5MB) | ||
// 테스트 3 〉 통과 (0.04ms, 33.4MB) | ||
// 테스트 4 〉 통과 (0.04ms, 33.5MB) | ||
// 테스트 5 〉 통과 (0.04ms, 33.4MB) | ||
// 테스트 6 〉 통과 (0.05ms, 33.4MB) | ||
// 테스트 7 〉 통과 (0.04ms, 33.5MB) | ||
// 테스트 8 〉 통과 (0.04ms, 33.4MB) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
// 프로그래머스 치킨은 치킨을 시켜먹으면 한 마리당 쿠폰을 한 장 발급합니다. 쿠폰을 열 장 모으면 치킨을 한 마리 서비스로 받을 수 있고, 서비스 치킨에도 쿠폰이 발급됩니다. 시켜먹은 치킨의 수 chicken이 매개변수로 주어질 때 받을 수 있는 최대 서비스 치킨의 수를 return하도록 solution 함수를 완성해주세요. | ||
|
||
function solution(chicken) { | ||
const service = parseInt(chicken / 10); | ||
const remain = parseInt(chicken % 10); | ||
|
||
if (chicken < 10) return 0; | ||
|
||
return service + solution(service + remain); | ||
} | ||
|
||
// 테스트 1 〉 통과 (0.03ms, 33.4MB) | ||
// 테스트 2 〉 통과 (0.04ms, 33.4MB) | ||
// 테스트 3 〉 통과 (0.03ms, 33.5MB) | ||
// 테스트 4 〉 통과 (0.06ms, 33.5MB) | ||
// 테스트 5 〉 통과 (0.03ms, 33.6MB) | ||
// 테스트 6 〉 통과 (0.05ms, 33.5MB) | ||
// 테스트 7 〉 통과 (0.05ms, 33.4MB) | ||
// 테스트 8 〉 통과 (0.05ms, 33.5MB) | ||
// 테스트 9 〉 통과 (0.04ms, 33.6MB) | ||
// 테스트 10 〉 통과 (0.05ms, 33.6MB) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
// 이진수를 의미하는 두 개의 문자열 bin1과 bin2가 매개변수로 주어질 때, 두 이진수의 합을 return하도록 solution 함수를 완성해주세요. | ||
|
||
function solution(bin1, bin2) { | ||
return (parseInt(bin1, 2) + parseInt(bin2, 2)).toString(2); | ||
} | ||
|
||
// 테스트 1 〉 통과 (0.03ms, 33.4MB) | ||
// 테스트 2 〉 통과 (0.03ms, 33.4MB) | ||
// 테스트 3 〉 통과 (0.03ms, 33.6MB) | ||
// 테스트 4 〉 통과 (0.04ms, 33.4MB) | ||
// 테스트 5 〉 통과 (0.04ms, 33.5MB) | ||
// 테스트 6 〉 통과 (0.03ms, 33.5MB) | ||
// 테스트 7 〉 통과 (0.03ms, 33.5MB) | ||
// 테스트 8 〉 통과 (0.03ms, 33.4MB) | ||
// 테스트 9 〉 통과 (0.03ms, 33.5MB) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
// 문자열 before와 after가 매개변수로 주어질 때, before의 순서를 바꾸어 after를 만들 수 있으면 1을, 만들 수 없으면 0을 return 하도록 solution 함수를 완성해보세요. | ||
|
||
// function solution(before, after) { | ||
// const reverseBefore = before.split('').reverse().join(''); | ||
// return reverseBefore === after ? 1 : 0; | ||
// } | ||
|
||
function solution(before, after) { | ||
const sortedBefore = [...before].sort().join(""); | ||
const sortedAfter = [...after].sort().join(""); | ||
return sortedBefore === sortedAfter ? 1 : 0; | ||
} | ||
|
||
// 테스트 1 〉 통과 (0.07ms, 33.4MB) | ||
// 테스트 2 〉 통과 (0.04ms, 33.4MB) | ||
// 테스트 3 〉 통과 (0.04ms, 33.6MB) | ||
// 테스트 4 〉 통과 (0.04ms, 33.5MB) | ||
// 테스트 5 〉 통과 (0.72ms, 33.6MB) | ||
// 테스트 6 〉 통과 (0.03ms, 33.4MB) | ||
// 테스트 7 〉 통과 (0.04ms, 33.4MB) | ||
// 테스트 8 〉 통과 (0.25ms, 33.4MB) | ||
// 테스트 9 〉 통과 (0.04ms, 33.5MB) | ||
// 테스트 10 〉 통과 (0.15ms, 33.5MB) | ||
// 테스트 11 〉 통과 (0.66ms, 33.5MB) | ||
// 테스트 12 〉 통과 (0.45ms, 33.5MB) | ||
// 테스트 13 〉 통과 (0.03ms, 33.6MB) | ||
// 테스트 14 〉 통과 (0.05ms, 33.4MB) | ||
// 테스트 15 〉 통과 (0.12ms, 33.4MB) | ||
// 테스트 16 〉 통과 (0.22ms, 33.6MB) | ||
// 테스트 17 〉 통과 (0.23ms, 33.5MB) | ||
// 테스트 18 〉 통과 (0.51ms, 33.5MB) | ||
// 테스트 19 〉 통과 (0.46ms, 33.5MB) | ||
// 테스트 20 〉 통과 (0.48ms, 33.6MB) | ||
// 테스트 21 〉 통과 (0.46ms, 33.5MB) | ||
// 테스트 22 〉 통과 (0.04ms, 33.4MB) | ||
// 테스트 23 〉 통과 (0.04ms, 33.5MB) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
// 1부터 13까지의 수에서, 1은 1, 10, 11, 12, 13 이렇게 총 6번 등장합니다. 정수 i, j, k가 매개변수로 주어질 때, i부터 j까지 k가 몇 번 등장하는지 return 하도록 solution 함수를 완성해주세요. | ||
|
||
function solution(i, j, k) { | ||
let count = 0; | ||
|
||
for (let num = i; num <= j; num++) { | ||
const arr = num.toString().split(""); | ||
const newArr = arr.filter((e) => e == k); | ||
count += newArr.length; | ||
} | ||
|
||
return count; | ||
} | ||
|
||
// 테스트 1 〉 통과 (46.39ms, 42.2MB) | ||
// 테스트 2 〉 통과 (0.07ms, 33.7MB) | ||
// 테스트 3 〉 통과 (0.06ms, 33.5MB) | ||
// 테스트 4 〉 통과 (6.27ms, 38.1MB) | ||
// 테스트 5 〉 통과 (4.90ms, 37.7MB) | ||
// 테스트 6 〉 통과 (0.23ms, 33.7MB) | ||
// 테스트 7 〉 통과 (0.52ms, 33.8MB) | ||
// 테스트 8 〉 통과 (11.77ms, 38.5MB) |