File tree Expand file tree Collapse file tree 7 files changed +109
-0
lines changed
Expand file tree Collapse file tree 7 files changed +109
-0
lines changed Original file line number Diff line number Diff line change 1+ function solution ( before , after ) {
2+ // 1. 문자열을 배열로 변환
3+ // 2. 오름차순 정렬
4+ // 3. 정렬한 배열 문자열로 변환 후 비교
5+ return before . split ( "" ) . sort ( ) . join ( "" ) === after . split ( "" ) . sort ( ) . join ( "" )
6+ ? 1
7+ : 0 ;
8+ }
Original file line number Diff line number Diff line change 1+ function solution ( letter ) {
2+ // 모스 부호 객체
3+ morse = {
4+ ".-" : "a" ,
5+ "-..." : "b" ,
6+ "-.-." : "c" ,
7+ "-.." : "d" ,
8+ "." : "e" ,
9+ "..-." : "f" ,
10+ "--." : "g" ,
11+ "...." : "h" ,
12+ ".." : "i" ,
13+ ".---" : "j" ,
14+ "-.-" : "k" ,
15+ ".-.." : "l" ,
16+ "--" : "m" ,
17+ "-." : "n" ,
18+ "---" : "o" ,
19+ ".--." : "p" ,
20+ "--.-" : "q" ,
21+ ".-." : "r" ,
22+ "..." : "s" ,
23+ "-" : "t" ,
24+ "..-" : "u" ,
25+ "...-" : "v" ,
26+ ".--" : "w" ,
27+ "-..-" : "x" ,
28+ "-.--" : "y" ,
29+ "--.." : "z" ,
30+ } ;
31+
32+ // letter의 모스 부호가 공백 기준으로 나눠져있으므로 split를 통해 배열로 변환
33+ // 변환된 배열을 map을 통해 순회하며 morse 객체의 키와 일치하는 영어 문자열 value로 이루어진 새 배열 반환
34+ // 영어 배열을 join을 통해 문자열로 변환
35+ return letter
36+ . split ( " " )
37+ . map ( ( el ) => morse [ el ] )
38+ . join ( "" ) ;
39+ }
Original file line number Diff line number Diff line change 1+ function solution ( score ) {
2+ // score의 평균 점수 구하기
3+ let average = score . map ( ( el ) => ( el [ 0 ] + el [ 1 ] ) / 2 ) ;
4+
5+ // 평균을 내림차순으로 정렬한 배열 선언 slice() 통해 average 배열 얕은 복사(원본 배열은 변경되지 않음)
6+ let sortedAverage = average . slice ( ) . sort ( ( a , b ) => b - a ) ;
7+
8+ // average의 요소와 동일한 sortedAverage 배열의 index 값에 1을 더하기
9+ return average . map ( ( el ) => sortedAverage . indexOf ( el ) + 1 ) ;
10+ }
Original file line number Diff line number Diff line change 1+ function solution ( emergency ) {
2+ let sorted = [ ...emergency ] . sort ( ( a , b ) => b - a ) ; // 배열 내림차순 정렬
3+
4+ return emergency . map ( ( v ) => sorted . indexOf ( v ) + 1 ) ;
5+ // 기존 배열의 각 요소를 내림차순 정렬된 배열에 매칭되는 요소로 접근하여 index + 1 로 순서대로 순위 매기고 map() 메서드를 통해 순위가 담긴 새 배열 반환
6+ }
Original file line number Diff line number Diff line change 1+ function solution ( cards1 , cards2 , goal ) {
2+ let index1 = 0 ; // 카드1의 인덱스
3+ let index2 = 0 ; // 카드2의 인덱스
4+
5+ for ( let i = 0 ; i < goal . length ; i ++ ) {
6+ if ( cards1 [ index1 ] === goal [ i ] ) {
7+ // 카드1의 인덱스 0부터 순서대로 골의 인덱스 i와 같으면
8+ index1 ++ ; // 카드 1의 인덱스 1 증가
9+ } else if ( cards2 [ index2 ] === goal [ i ] ) {
10+ // 카드2의 인덱스 0부터 순서대로 골의 인덱스 i와 같으면
11+ index2 ++ ; // 카드 2의 인덱스 1 증가
12+ } else return "No" ; // 순서대로 비교하다가 더 이상 일치하는 인덱스가 없으면 만들 수 없는 문장이므로 No 반환
13+ }
14+ return "Yes" ; // goal의 인덱스만큼 순회를 성공적으로 마치면 문장을 만들 수 있으므로 Yes 반환
15+ }
Original file line number Diff line number Diff line change 1+ function solution ( id_pw , db ) {
2+ const [ id , pw ] = id_pw ; // 아이디, 패스워드 분리
3+ const map = new Map ( db ) ; // db를 기반으로 Map 객체 생성
4+ console . log ( map ) ;
5+
6+ if ( map . has ( id ) ) {
7+ // map 객체에 id 가 있을때
8+ if ( map . get ( id ) === pw ) {
9+ // 아이디와 패스워드가 일치하면
10+ return "login" ; // 'login' 반환
11+ } else return "wrong pw" ; // 아이디는 같은데 패스워드만 틀리면 'wrong pw' 반환
12+ } else return "fail" ; // 둘 다 틀리면 'fail' 반환
13+ }
Original file line number Diff line number Diff line change 1+ function solution ( ingredient ) {
2+ let stack = [ ] ; // 스택
3+ let count = 0 ; // 햄버거 포장 갯수
4+ for ( let i = 0 ; i < ingredient . length ; i ++ ) {
5+ stack . push ( ingredient [ i ] ) ; // ingredient 인덱스 순서대로 스택에 추가
6+ if ( stack . length >= 4 ) {
7+ // 스택에 재료가 4개 이상 쌓였을때
8+ const hamburger = stack . slice ( - 4 ) . join ( "" ) ; // 스택의 끝에서부터 4개의 요소 문자열로 추출
9+
10+ if ( hamburger === "1231" ) {
11+ // 추출한 문자열이 1231 순서와 일치하면
12+ count ++ ; // 포장 갯수 1 증가
13+ stack . splice ( - 4 ) ; // 스택에서 포장된 햄버거 제거
14+ }
15+ }
16+ }
17+ return count ; // 총 포장 갯수 반환
18+ }
You can’t perform that action at this time.
0 commit comments