We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
2 parents 347d558 + 7d2fe17 commit 450c8a6Copy full SHA for 450c8a6
README.md
@@ -80,7 +80,7 @@
80
### Level 2 👨🏻💻(풀이 중..)
81
82
- 전체 문제 수: 64문제
83
-- 풀이 문제 수: 44문제(2022.04.07)
+- 풀이 문제 수: 45문제(2022.04.11)
84
- 풀이 완료 예상 시점: 2022년 4월 중 **- 풀이가 완료되는대로 표를 추가하겠습니다.**
85
86
### Level 3 👨🏻💻(풀이 중..)
level-1/[1차]-다트-게임.js
@@ -23,4 +23,38 @@ function solution(dartResult) {
23
}
24
answer = result.reduce((a, b) => a + b)
25
return answer;
26
+}
27
+
28
+//정답 2 - jaewon1676
29
+function solution(dartResult) {
30
+ var answer = 0;
31
+ let score = 0;
32
+ let cnt = [];
33
34
+ for (let i = 0; i < dartResult.length; i++) {
35
+ //점수가 주어질때
36
+ if (!isNaN(dartResult[i])) {
37
+ // i가 1인 경우는 10점, 그외에는 점수
38
+ score = Number(dartResult[i - 1]) === 1 ? 10 : Number(dartResult[i]);
39
+ //보너스 S일때
40
+ } else if (dartResult[i] === "S") {
41
+ cnt.push(score);
42
+ //보너스 D일때
43
+ } else if (dartResult[i] === "D") {
44
+ cnt.push(Math.pow(score, 2));
45
+ //보너스 T일때
46
+ } else if (dartResult[i] === "T") {
47
+ cnt.push(Math.pow(score, 3));
48
+ //옵션 *일떄
49
+ } else if (dartResult[i] === "*") {
50
+ cnt[cnt.length - 2] = cnt[cnt.length - 2] * 2;
51
+ cnt[cnt.length - 1] = cnt[cnt.length - 1] * 2;
52
+ //옵션 #일때
53
+ } else if (dartResult[i] === "#") {
54
+ cnt[cnt.length - 1] = -1 * cnt[cnt.length - 1];
55
+ }
56
57
+ //3개의 점수 합산
58
+ answer = cnt.reduce((acc, cur) => acc + cur, 0);
59
+ return answer;
60
level-1/부족한-금액-계산하기.js
@@ -25,3 +25,15 @@ function solution(price, money, count) {
+//정답 3 - jaewon1676
+function solution(price, money, count) {
+ let sum_price = 0; // 놀이기구의 이용료의 합
+ for (let i = 1; i <= count; i++){
+ sum_price += i * price // 이용료의 N배 만큼 곱해서 더해준다.
+ if (sum_price <= money){
+ return 0;
+ return sum_price - money;
level-1/약수의-합.js
@@ -38,3 +38,17 @@ function solution(n) {
if (Number.isInteger(sqrtN)) result += sqrtN;
return result;
+//정답 4 - jaewon1676
+function solution(n) {
+ for (let i=1; i<=n; i++){
+ if (n%i == 0){ // n으로 i를 나눴을 때, 나머지가 0이면 약수이다.
+ answer += i
+// 약수란 어떤 수를 나누었을 때 나머지 없이 나누어 떨어지게 하는 그 수입니다.
+// 10을 예로 들면, 10은 1, 2, 5, 10 이 나누었을 때 나머지가 없으므로 약수입니다.
+// 3, 4, 6, 7, 8, 9 는 나누었을 때 나머지가 남기때문에 약수가 아닙니다.
level-1/이상한-문자-만들기.js
@@ -30,4 +30,28 @@ function solution(s) {
flag = !flag;
-}
+function solution(s) {
+ return s.split(' ').map(el => el.split('').map((el, index) => index % 2 == 0 ? el.toUpperCase() : el.toLowerCase()).join('')).join(' ')
+/* s.split(' ') // 띄어쓰기를 기준으로 나눕니다. [ 'try', 'hello', 'world' ]
+.map(el => el.split('')) 나눈것을 기준으로 요소 하나 하나씩 나눠줍니다
+[[ 't', 'r', 'y' ], [ 'h', 'e', 'l', 'l', 'o' ], [ 'w', 'o', 'r', 'l', 'd' ]]
+.map((el, index) => index % 2 == 0 ? el.toUpperCase() : el.toLowerCase())
+//map에서 첫번째는 앞에서 가져온 요소, 두번째는 index를 반환 합니다!
+//map의 index를 기준으로 짝수인지 홀수인지 판별하여 대문자, 소문자로 변환 해줍니다.
+[[ 'T', 'r', 'Y' ], [ 'H', 'e', 'L', 'l', 'O' ], [ 'W', 'o', 'R', 'l', 'D' ]]
+.join('') 작은 배열들을 합쳐줍니다.
+['TrY', 'HeLlO', 'WoRlD']
+.join(' ') 큰 배열들을 합쳐줍니다.
+"TrY HeLlO WoRlD"
+대, 소문자 변환, split, reverse, join, map 등등을 활용 해야 하므로
+문자열을 연습하는데 좋은 문제입니다.
+*/
level-1/자연수-뒤집어-배열로-만들기.js
@@ -17,4 +17,23 @@ function solution(n) {
17
.split("")
18
.reverse()
19
.map((item) => parseInt(item));
20
21
22
+ var answer = [];
+ // 정수형 => 문자형 => 하나씩 잘라서 뒤집어서 모아준다.
+ n = n.toString().split('').reverse().join('')
+ for (let i=0; i<n.length; i++){
+ answer.push(parseInt(n[i])) // n은 지금 문자형이기때문에 Push 하기전에 정수형으로 바꿔줌
+ // answer.push(n[i]) 로 해주면 현재 n[i]는 문자형이기때문에 결과는 ["5","4","3","2","1"] 가 됩니다.
+ // answer(parseInt(n[i])) 로 해준다면 n[i]는 문자형 => 정수형으로 변하기 때문에 결과는 [5, 4, 3, 2, 1] 가 됩니다.
+ // 문자형과 정수형의 차이는 숫자에 큰 따옴표가 있느냐 없느냐의 차이입니다.
+ return answer
+ //정답 4 - jaewon1676
+ function solution(n) {
+ return n = n.toString().split('').reverse().map(o => o = parseInt(o));
level-2/구명보트.js
@@ -0,0 +1,19 @@
1
+//https://github.com/codeisneverodd/programmers-coding-test
2
+//완벽한 정답이 아닙니다.
3
+//정답 1 - jaewon1676
4
+function solution(people, limit) {
5
+ let cnt = 0;
6
7
+ people.sort((a, b) => {return a - b}) // 몸무게 오름차순
8
9
+ while(people.length != 0){ // 무인도에 갖힌 사람이 없어질때까지 반복
10
+ if (people[0] + people[people.length-1] <= limit){ // 무게가 되면 둘 다 빼주기
11
+ people.pop()
12
+ people.shift()
13
+ } else {
14
+ people.pop() // 무거운사람을 뺴주자
15
16
+ cnt++;
+ return cnt;
+} // 4주차 2번 문제와 유사함
level-2/짝지어-제거하기.js
@@ -24,3 +24,24 @@ function solution(s) {
answer = notPairStack.length === 0 ? 1 : 0
+function solution(s){
+ let cnt = 0; // 빼준 부분을 카운트 해줍니다
+ let answer;
+ let stack = []
+ for (let i of s){
+ if (stack[stack.length - 1] === i){ // 스택의 끝부분과 i를 비교합니다
+ stack.pop();
+ cnt++;;
+ stack.push(i)
+ (s.length / 2 == cnt ? answer = 1 : answer = 0 )
+ // s의 길이를 2로 나눠서 cnt 값이 된다면 문자열의 개수만큼 잘 잘라졌다는 뜻입니다
+ // 코테 1주차 5번 문제와 유사합니다. 문자열 유형을 연습하기에 좋은 문제입니다
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
0 commit comments