문제김코딩은 모든 조별 발표 순서에 대한 경우의 수를 차례대로 구한 뒤 발표 순서를 말하면 이 발표 순서가 몇 번째 경우의 수인지를 대답해야 합니다.총 조의 수 N과 선생님이 말씀하시는 발표 순서 k가 주어질 때, 김코딩이 정답을 말 할 수 있게 올바른 리턴 값을 구하
아래와 같이 정의된 피보나치 수열 중 n번째 항의 수를 리턴해야 합니다.0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1입니다. 그 다음 2번째 피보나치 수부터는 바로 직전의 두 피보나치 수의 합으로 정의합니다.0, 1, 1, 2, 3, 5, 8, 13, 21,
base, sample sample와 base을 다 돌면서 일치하는지 여부를 따지는 것은 의미가 없다 너무 오래 걸리니까 : m\*n그러므로 이진탐색을 이용한다 1\. base, sample을 sorting2\. base를 2로 나눠서 sample의 첫번째와 중간값과
코테 단기간 준비 시간 복잡도 공간 복잡도 문제 처음 봤을 때기본적으로 알아두어야 할 유형 what is 코딩 테스트? \-> 왜 보는 거지? 우리의 실력 평가하기 위한 과정 기술 면접 : 이론적인 지식 확인, 포폴 질문, 회사에 대한 열정 확인, (시니어) 문제 풀이
최대 공약수를 구할 때 유클리드 호제법을 사용할 수 있다 유클리드 호제법 출처 https://velog.io/@yerin4847/W1-%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C-%ED%98%B8%EC%A0%9C%EB%B2%95💡 유클리
내가 헷갈렸던 것들 .slice(first, end) !== .splice(first, num) : slice는 first부터 end-1까지 복사: splice는 first부터 num만큼 자르기 push,pop,shift : mutable, 반환하는 값은 각각 길이 또
알고리즘 문제: 문제를 이해하고 어떻게 풀 것인지 전략을 세우는 것 \-> 자료구조, 알고리즘 \-> 특정 방법을 이용해 풀어보라는 의도가 있는 문제가 많이 나온다 수학적 사고, 컴퓨팅 사고풀이 단계1)어떤 개념을 요구하는지 파악2)개념에 맞는 해결 방법 분석 주요 수
arr.sort(compareFunction) : mutablecompareFunction을 생략하면 배열의 element들이 문자열로 취급되어 유니코드 값 순서대로 정렬된다 두개의 배열 element를 파라미터로 입력 받는다 compareFunction(a,b){}/
자신이 감옥에 간 사이 연인이었던 줄리아를 앤디에게 빼앗겨 화가 난 조지는 브레드, 맷과 함께 앤디 소유의 카지노 지하에 있는 금고를 털기로 합니다. 온갖 트랩을 뚫고 드디어 금고에 진입한 조지와 일행들. 조지는 이와중에 감옥에서 틈틈이 공부한 알고리즘을 이용해 tar
집밥이 그리워문제김코딩은 몇 년의 해외 출장 끝에 본가에 내려왔습니다. 오랜만에 보는 김코딩의 얼굴에 반가웠던 부모님은 상다리가 부러질 정도로 음식을 만들었습니다. 감동의 재회도 잠시, 의자에 앉아 식사를 하려던 김코딩은 무엇부터 먹어야 될지 깊은 생각에 빠졌습니다.
코딩테스트 문제해결능력 기본 문법 공부 코드업 알고리즘 기본 100제 백준 코드포스 등 : 1번부터 풀지 말고 유형부터 보고 그리디부터 꼭 그리디부터! 완전탐색, BFS, DFS 그리디와 탐색, 기본동적만 잘해도 된다 => 코드포스의 블루 레벨 그래프 이론, 중급 및
출처. 프로그래머스 https://programmers.co.kr/learn/courses/30/lessons/42840수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까
말과 말 사이의 거리를 기준으로 //mid해당 거리만큼 마구간 사이를 띄운 채 말을 마구간에 배정했을 때 //count함수주어진 말의 수만큼 전체 마구간에 넣을 수 있으면 //count함수의 결과 >= c해당 거리를 반환하는 것이 문제의 핵심이다.말 사이의 거리는 1번
splice let arr = 1,2,3,4,5arr.splice(0,1) console.log(arr) // 2,3,4,5arr = arr.splice(0,1) console.log(arr) // 1
answer에 해당 값을 넣고 2를 계속 곱하다가 7보다 커지면 return그 직전 값(4)을 실행한 값을 answer에 더한다직전 값의 v(즉 직전 값/2)로 DFS(v\*2+1)을 한다 1 2 4 5
javascript에서 어떤 대상 문자를 원하는 문자로 변환할때는 replace 함수를 이용한다.출처: https://takeardor.tistory.com/47 기록하고 싶은 기록들:티스토리첫번째로 일치하는 값만 바꿔준다immutble이므로 원래 문자열을 바
https://programmers.co.kr/learn/courses/30/lessons/72410문제 : 시간 초과 \\d : 숫자를 찾아내는\\w : 글자를 대표하는 정규표현식입니다.ex. a, b, c, 가, 나, 다, 1, 2와 같은 문자와 숫자를 포
https://programmers.co.kr/learn/courses/30/lessons/67256
https://programmers.co.kr/learn/courses/30/lessons/42576중복된 값이 있을 때는 sort를 해서 index로 하나씩 비교하는 것이 가장 간편하다
Math.sqrt이하로 설정해야 한다 이하가 아니면 3의 제곱인 9가 true로 나온다
조합은 dfs까지 안 가고 반복문으로만 만들어도 충분하다순서를 신경쓰지 않아도 되지만 중복이 있으면 안되기 때문에 반복문에서 for문의 요소 하나하나마다 +1을 해줘야 한다소수를 찾는 isPrime은 예외 처리를 해주는 게 중요하다
약수가 홀수인 것은 제곱수가 유일하다
숫자 및 BigInts의 경우 toString()은 선택적으로 기수(radix)를 매개변수로 취합니다. 기수의 값은 최소 2부터 36까지입니다.기수를 이용함으로써 10진수를 (1, 2, 3, 4, 5...) 다른 진수로 변환할 수 있습니다. 아래는 10진수를 2진수로
정규표현식에서부터 length를 설정해줘서 match로 1차적 split을 시킴1을 for문으로 돌면서 하나하나 정규표현식으로 split을 시킨다 하나하나
탐욕법현재 상황에서 지금 당장 좋은 것만 고르는 방법 일반적으로는 최적의 해를 보장할 수 없다 대부분의 그리디 문제는 얻은 해가 최적의 해가 되는 상황에서 이를 추론하도록 요구일반적인 그리디 알고리즘은 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있는 능력 요구 정
구현 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정 결국에는 소스코드로 구현을 해야하니까 결국 모든 문제를 구현 문제라고도 할 수 있지만 흔히 구현이 어렵거나 구현에 초점을 맞춘 문제들 풀이를 떠올리는 것은 쉽지만 소스코드로 옮기기 어려운 문제 알고리즘은 간단한데
많은 양의 데이터 중에서 원하는 데이터를 찾는 과정을 말합니다 대표적인 그래프 탐색 알고리즘 : DFS/FS 코딩테스트에서 매우 자주 등장하는 유형!!먼저 들어온 데이터가 나중에 나가는 형식(선입후출)의 자료구조 입구와 출구가 동일한 형태로 스택을 시각화ex. 박스 쌓
arr.sort(compareFunction)compareFunction(a, b)이 0보다 작은 경우 : a를 b보다 낮은 색인으로 정렬합니다. 즉, a가 먼저옵니다.compareFunction(a, b)이 0을 반환하면 : a와 b를 서로에 대해 변경하지 않고 모
charCodeAt String.fromCharCode
내 풀이
function solution(m){ let answer=''; function dfs(n){ if(parseInt(n/2) === 0)return; answer+= String(n%2) } return answer;}
드디어 이걸 시간 안에 풀었다!30분 안에 풀었고, 10초 안에 풀리도록 했다 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/92334
Javascript로 정규표현식을 다룰 때에는 String class의 match 함수를 이용할 수 있습니다.var regex = /\\d/g;console.log(searchTarget.match(regex)); //global하게 숫자와 일치하는 모든 값\\d :
대기업 코테 대비 방법에러 이유문제 링크(https://school.programmers.co.kr/learn/courses/30/lessons/42862예외 케이스를 못잡아서 계속 실패가 떴다 lost를 sort하고 다시 시도하니까 됐다 이런 에러가 뜨는 이
\-프로그래머스의 카카오 lv2-3 문제\-백준에서 취약하다고 생각되는 분야의 골드 2-5 문제 (https://github.com/tony9402/baekjoon 참고)백준에서 자바스크립트로 푸는 방법 : https://github.com/Egolp
파이썬 rere.split (쪼개기)re.split(pattern, string)문자열을 패턴 기준으로 쪼갠다.pattern = "0-9"isdigit이면 join 아니면 ' '(나중에 split하게) 합친 string을 split하고 다시 int로 만들어서 sum r
"="로 split하고 계산, 숫자화 비교 같으면 O 아니면 X
3의 배수, 3이 있는 숫자인 동안 계속 +1을 해준다
원본 배열 순서대로 sort 후 순서를 넣는 방법 1\. sort한 배열에서 원본 배열의 요소의 인덱스를 찾아서 배열에 넣기 : 여기서는 원본의 형태가 없어져서 찾기 어려움 2\. 원본 배열에 새롭게 계산한 배열의 값을 넣어서 그걸 토대로 찾기
출처 : https://school.programmers.co.kr/learn/courses/30/lessons/120880가까운 수 : 차의 절댓값이 작은 수거리가 같다면 더 큰 수를 앞에 오도록 : 내림정렬 sorted(배열, key=lambda x: (조
출처 : https://school.programmers.co.kr/learn/courses/30/lessons/120884(1) 시킨 치킨의 개수만큼 쿠폰을 받는다 (2) 치킨 : +(1)을 10으로 나눈 몫(3) 쿠폰 : (1)을 10으로 나눈 나머지 +
출처 : https://school.programmers.co.kr/learn/courses/30/lessons/120878import mathdef prime(num): while num%2==0: num = num/2 whil
출처 : https://school.programmers.co.kr/learn/courses/30/lessons/120921미는 거를 진짜 구현함 ohellohell에서 hello의 인덱스는 1이다즉 1칸 움직인 것 쉽게 생각하면 hello의 h가 얼마나 밀렸
출처 : https://school.programmers.co.kr/learn/courses/30/lessons/120860x,y좌표가 둘다 다른 두 원소를 구해서 x,y의 차의 절댓값으로 곱한다 max, min을 2차원 배열에 쓰면 1) 각 요소의 첫 요소가
출처 : https://school.programmers.co.kr/learn/courses/30/lessons/120866board의 i,j번째 요소인 X의 값이 0이면 continue1이면 X의 row,col에 -1,0,1을 조합한 값을 모두 더해 9가지
reserve에서 -1,+1을 한 값이 lost에 있으면 lost에서 -1,+1을 한 값이 reserve에 있으면여벌과 도난이 같으면 한 개니까 일단 reserve에서 빼주기한번 빌려줬으면 또 못 빌려주니까 제외하기 문제) reserve에서 -1,+1을 할 때 더 많은
내 풀이 다른 풀이
A,Z 중 더 가까운 쪽으로 골라서 빼준다 그 차를 더한다 왼,오로 이동했을 때 얼마나 이동했는지 더한다
출처: 자료구조와 알고리즘은 처음이지?https://school.programmers.co.kr/learn/courses/57/lessons/138151)문자열 "This is a string"2)리스트 요소,,,3)사전 {키:값, 키:값..}4)순서쌍 tu
문자열 밀기
음료수 얼려먹기
많은 양의 데이터 중에서 원하는 데이터를 찾는 과정대표적인 그래프 탐색 알고리즘 : DFS, BFS먼저 들어 온 데이터가 나중에 나가는 형식(선입후출)입구와 출구가 동일한 형태로 스택을 시각화할 수 있다ex. 박스먼저 들어온 데이터가 먼저 나가는 형식(선입선출)입구와