분류 전체보기 (177) 썸네일형 리스트형 [2주차] [20221124] 탐욕법, 그래프 자료구조 오늘은 어제에 이어 프로그래머서 카카오 인턴 키패드 문제를 해결하기 위해 오전부터 계속 유데미에서 알고리즘 강의를 수강했다. 처음에 이진 트리구조부터 시작해서 이중연결 트리, 그래프, 가중치 그래프를 지나 다익스트라 알고리즘까지....! 근데, 솔직히 거의 10%도 이해를 못한것 같다.ㅋㅋ 그래도 강의에서 소개받은 자료구조 중 그래프가 그나마 풀어야 하는 문제와 제일 가까운 것 같아 시도해보았다. 솔직히 어려웠는데, 힘든거 참고 하니까 그래도 구현은 되었다.. 하지만 제출하기 테스트에서 실패가 떠서 결국 통과는 못했다. 이것도 그렇고, 어제 못 푼 체육복 문제도!! 왜 자꾸 실패 뜨냐고!!ㅋㅋㅋ 그래서 우리 반 고수분께 도움을 요청했다. 탐욕법 개념을 쉽게 잘 설명을 해주셨고, key-value 값으로 .. [2주차] [20221123] 화살표 함수의 this binding 오늘은 오전에 언어 스터디 발제를 준비하고, 발제했다. 오후에는 지쳐기도 했고, 피로가 쌓여서 머리가 잘 안돌았다. 그래서 오늘은 문제를 3개밖에 풀지 못했는데, 그나마도 하나만 맞추고, 하나는 틀리고, 하나는 아직 손도 못 대고 있다ㅋㅋ BFS DFS를 사용해서 풀어야 하는거 같은데, 일단 트리 클래스 만드는 법주터 몰라서ㅋㅋㅋ 급조로 배우고 있는 중이다. 내일이 알고리즘 마지막 날인데, 과연 얼마나 해낼 수 있을지…ㅠㅠ TIL 오늘 스터디 발제는 [혼자 공부하는 자바스크립트]의 5-2장 함수편이었다. 새로 배운 내용은 화살표 함수에서의 this binding 없음, 언격모드는 브라우저별로 지원하지 않는 브라우저도 있음 정도가 기억에 남는다. 화살표 함수에는 this binding이 없는데, 이때 th.. [30번][중급] 나머지가 1이 되는 수 찾기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 답 * 나머지가 1이 되는 수 찾기 * n % x === 1이 되게 하는 가장 작은 자연수 x의 값을 리턴 * 로직 : (n-1) % x === 0이라는 의미 이므로, 1을 제외한 (n-1)의 약수 중에 가장 작은 값을 찾으면 됨 [pseudo code] 1. 2 ~ (n-1) 값까지 루프를 돌면서 (n) % i === 1인 값을 맨 처음 찾았을 때, 이를 리턴 function solution(n) { for (i = 2; i [29번][중급] K번째 수 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 답 [pseudo code] 1. shallow copy 문제로, array의 값을 stringify 했다가 다시 배열로 만들어 줘야 함 => shallow copy가 아니라, split 함수 자체가 원본을 자르는 것임..! (temp = array.split(1,1)을 했다면, temp 값에는 원본에서 잘라낸 배열을, array 배열에는 부분이 잘려나간 나머지를 리턴해주는 것임!!) 2. 자른 배열을 받을 temp = []생성, answer =[]생성 2. command는 배열 속의 배열로 되어 있음 .. [28번][중급] 최대공약수와 최소공배수 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 답 [pseudo code] 최소공배수 = Math.abs(a*b)/최대공약수 최대공약수 = n의 약수 중 m의 약수와 같은 최대 값 약수 let sqrt = Math.sqrt(n); for (let i = 1; i 작은값 순으로 검사) - gcd [27번][중급] 예산 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 답 로직 : d 베열 요수의 부분합 a-b) 변수를 선언 3. while (partialSum >= budget) - partialSum = arr.reduce > budget => pop 4. arr.length를 리턴 function solution(d, budget) { d.sort((a, b) => a - b); let partialSum = d.reduce((acc, curr) => acc + curr, 0); while (partialSum > budget) { d.pop(); partialS.. [26번][중급] 약수의 합 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 답 약수의 합 => 숫자의 약수는 1~제곱근까지의 정수와 그 배수로 이뤄져 있음을 이용. [pseudo code] 1. 입력받은 정수의 제곱근을 변수로 선언 2. 1 ~ 제곱근까지 돌면서 정수 % i 값이 0(정수의 factor)이고, i 제곱근 값이 아니라면(예를 들어 4의 경우, 제곱근 값이 2이므로, 2 % 2는 의미 없음) i와 n/i 값을 모두 answer에 더해주고, 만약 i = 제곱근 값이라면 i만 더해줌 function solution(n) { let answer = 0; let sqrt .. [25번][중급] 약수의 개수와 덧셈 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 답 [pseudo code] 1. 입력받은 range의 시작과 끝을 사용해 for loop 생성 2. odd & even = [] 약수의 개수가 홀/짝인 숫자를 각각 담아줌 3. num arr의 요소를 하나씩 인자로 받아서, 해당 숫자의 약수를 뽑아줄 countFactor(num)을 생성 - count 변수를 선언하고, 아래 판별식에 따라 숫자를 올려줌 - 1 ~ num까지 for loop 생성 - num % i === 0일 경우, count++ - return count 4. 만약, countFacto.. 이전 1 ··· 5 6 7 8 9 10 11 ··· 23 다음