본문 바로가기

Sparta x 이노베이션 캠프/코딩테스트

(4)
알고리즘 !! 시간복잡도 & 자료 구조 & 정렬 시간복잡도 알고리즘의 로직을 코드로 구현할 때, 시간 복잡도를 고려한다는 것은 바꿔 말해 입력값의 변화에 따라 연산을 실행할 때, 연산 횟수에 비해 시간이 얼마만큼 걸리는가? 라는 말이다. Big-O 표기법 : 입력값의 변화에따라 연산을 실행할때, 연산 횟수에 비해 시간이 얼마만큼 걸리는가? 를 표기하는 방법. Big-O(빅-오) ⇒ 상한 점근 (최악의 경우) Big-Ω(빅-오메가) ⇒ 하한 점근 (최선의 경우) Big-θ(빅-세타) ⇒ 그 둘의 평균 가장 자주 사용되는 표기법. 최악의 경우도 고려해 대비하는 것이 바람직하다. Reference https://hanamon.kr/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-time-complexity-%EC%8B%9C%EA%B0%84..
TIL) 코딩테스트: 정수 내림 차 순으로 배열하기 정수 내림차순으로 배치하기 문제 설명 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이상 8000000000 이하인 자연수입니다. n return 118372 873211 나의 이해 n을 문자로 바꾸고 스프릿해서 내림차순으로 바꾸어 주어야겠다고 생각했다. 1. 첫번째 시도 function solution(n) { var answer = 0; n = n.toString().split('').sort(function(a, b) { return b - a; }).join().replace(/,/g,""); console.log(n) //숫자를 문..
TIL) 음양더하기, 평균 구하기, 핸드폰 번호 가리기, 행렬의 덧셈, 부족한 금액 계산하기 function solution(absolutes, signs) { var answer = 0; for (let i=0; i 숫자를 *로 대체하기 //+phone_number(-4); -> 그 끝에 폰번호 마지막 4자리 붙여줌 function solution(arr1, arr2) { var answer = []; for (let i=0; i < arr1.length; i++) { let sum = []; for (let j=0; j < arr1[i].length; j++) { // arr1의 i번의 j번째 !!! 행의 열의 갯수 sum.push(arr1[i][j] + arr2[i][j])} answer.push(sum) return answer; } 여기서 j는 arr1 의 i 의 j번째 functio..
TIL) JS 코딩테스트 직사각형 별찍기 , 문자열 정수로, 두 정수사이의 합, 짝수 홀수, 가운데 글자 가져오기 process.stdin.setEncoding('utf8'); process.stdin.on('data', data => { const n = data.split(" "); const a = Number(n[0]), b = Number(n[1]); const row = '*'.repeat(a) // *을 a 만큼 한 줄로 찍음. for(let i =0; i < b; i++){ // 입력 값 b(3) 만큼 반복문을 돌린다. console.log(row) } }); function solution (s) { return Number(s); } // function solution (s) { // return parseInt(s); // } // function strToInt(str) { // return ..

반응형