https://school.programmers.co.kr/learn/courses/30/lessons/12935 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제 덕분에 부족한 개념부분을 더 채울 수 있었다. 나의 코드 풀이1) function solution(arr) { let newArr = arr.slice(); newArr.sort((a,b) => b-a); const cut = arr.indexOf(newArr[newArr.length - 1]); return arr.length == 1 ? [-1] : [...arr.slice(0,cut..
분류 전체보기
1. concat() Array.prototype.concat() concat() 메서드는 인자로 주어진 배열이나 값들을 기존 배열에 합쳐서 새 배열을 반환합니다. - 기존 배열을 변경하지 않는다. - 추가된 새로운 배열을 반환한다. const array1 = ['a', 'b', 'c']; const array2 = ['d', 'e', 'f']; const array3 = array1.concat(array2); console.log(array3); // expected output: Array ["a", "b", "c", "d", "e", "f"] //이렇게 아무것도 입력하지 않을시 기존배열의 얕은 복사본을 반환한다. const array4 = array1.concat() console.log(arr..
https://school.programmers.co.kr/learn/courses/30/lessons/12940 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 실패한 코드 function solution(n, m) { let gcdN = []; let gcdM = []; for(i=1; i gcdM.find(v => v ===x)) return [gcd[gcd.length -1],lcm]; } 이 풀이는 다 통과하는데 테스트케이스 11에서 마지막까지 시간초과 때문에 실패햇다. 풀면서도 무슨 알고리즘이 있었던 것 같든데 알고리즘 안쓰고도 풀어보고 싶었지만..
https://school.programmers.co.kr/learn/courses/30/lessons/12934 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제는 쉽지만 다양한 코드를 상기하고자 기록을 남깁니다. 나의 코드 function solution(n) { if(Math.floor(Math.sqrt(n)) == Math.sqrt(n)){ return Math.floor(Math.sqrt(n)+1)**2; }else{ return -1; } } 다른 사람 풀이 function solution(n) { let sqr = Math.sqrt(n); ..
https://school.programmers.co.kr/learn/courses/30/lessons/12932 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제도 역시 프로그래밍적인 것 보다 수학적 풀이도 다시 상기하기위해 작성하였다. 나의 풀이 function solution(n) { return [...n+""].reverse().map(x=>+x); } 이 풀이를 하기전에 또 문제를 제대로 읽지 않았다. 정렬하고 뒤집기는 전혀다른 소리다 필자는 예제만 보고 내림차순 정렬로 이해해서 sort를 사용했다. 당연히 테스트 케이스는 통과했지만 제출..
https://school.programmers.co.kr/learn/courses/30/lessons/12931 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이것도 풀이 보다 내가 놓쳤던 개념을 작성하기 위해 적고 있다. 나의 풀이 function solution(n){ return n.toString().split("").reduce((acc,cur)=> acc += +cur,0) } 상기할 개념 /입력값 123 function solution(n){ return [...n+""] // ["1","2","3"] } 이렇게 string으로 만들고 ....
https://school.programmers.co.kr/learn/courses/30/lessons/12928 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 1) function solution(n) { let result =[]; if(!n) return 0; ((n) => { for(i=1; i acc += cur ); } 왜 굳이 함수를 만들었을까 ???? 2) function solution(n) { let result = 0; for(i=1; i
for 문 for 반목문은 어떤 특정한 조건이 거짓으로 판별될 때까지 반복합니다. for ([초기문]; [조건문]; [증감문]) 문장 실행 순서 1. 초기문 2. 조건문 3. 문장 4. 증감문 1) 초기화 구문인 초기문이 존재한다면 초기문이 실행됩니다. 2) 조건문은 조건을 검사합니다. (1). 조건문이 참이면 반복문이 실행 (2). 조건문이 거짓이면 그 for문은 종결됩니다. (3). 조건문이 생략된다면, 그 조건문은 참으로 추정됩니다. 즉 계속 for문이 돌아감 3) 문장이 실행됩니다. 문장이 여러개일때는 { } 를 써서 문장들을 묶어 줍니다. 4) 갱신 구문인 증감문이 존재한다면 실행되고 다시 조건문 단계로 넘어갑니다. 순서를 다시 정리하자면 이렇게 계속 반복하는 것이다. 그런데 여기서 생각해야할 ..
https://school.programmers.co.kr/learn/courses/30/lessons/12925 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이건 풀이보다 다시한번 상기하자는 의미로 글을 적는다. 여러가지로 가능하다 function solution(s) { return Number(s); } function solution(s) { return s * 1; } function strToInt(str){ return str/1 } function strToInt(str){ return +str; } function solution(s) ..