Large Rainbow Pointer
[프로그래머스 알고리즘 고득점 Kit] 문제풀이 - 완전탐색
💜 코딩테스트/문제풀이2024. 8. 4. 21:06[프로그래머스 알고리즘 고득점 Kit] 문제풀이 - 완전탐색

1. 최소직사각형https://school.programmers.co.kr/learn/courses/30/lessons/86491 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr1-1. 내 풀이먼저 정렬을 하여 긴 쪽과 짧은 쪽을 구분하였고, 각각 긴 쪽과 짧은 쪽의 최대값을 result 배열에 넣어 두 값을 곱해 결과를 반환했다.function solution(sizes) { let result = [0, 0] sizes.map((item)=>{ item.sort((a,b)=>b-a) if(result[0]  2. 모의고사..

[프로그래머스 알고리즘 고득점 Kit] 문제풀이 - 정렬
💜 코딩테스트/문제풀이2024. 7. 23. 08:54[프로그래머스 알고리즘 고득점 Kit] 문제풀이 - 정렬

1. K번째 수https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr1-1. 내 풀이slice 를 사용하여 item[0] 번째부터 item[1] 까지 자른 후, sort 를 사용하여 오름차순 정렬을 하고 item[2] 번째에 있는 수를 반환하였다.function solution(array, commands) { return commands.map((item)=>{ return array.slice(item[0]-1,item[1]).sor..

[프로그래머스 알고리즘 고득점 Kit] 문제풀이 - 스택 / 큐
💜 코딩테스트/문제풀이2024. 7. 21. 15:37[프로그래머스 알고리즘 고득점 Kit] 문제풀이 - 스택 / 큐

1. 같은 숫자는 싫어https://school.programmers.co.kr/learn/courses/30/lessons/12906 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr1-1. 내 풀이이미 푼 문제인데 나는 filter 를 사용하여, 앞에 있는 숫자와 같을 경우 해당 숫자를 필터링하여 연속으로 중복된 수를 제거하였다.function solution(arr) { return arr.filter((item,idx) => item !==arr[idx-1]);}1-2. 다른 사람 풀이나와 같은 방식으로 해결하였다.function solution(a..

[프로그래머스 알고리즘 고득점 Kit] 문제풀이 - 해시
💜 코딩테스트/문제풀이2024. 7. 19. 23:30[프로그래머스 알고리즘 고득점 Kit] 문제풀이 - 해시

1. 폰켓몬https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr1-1. 이전 내 풀이이미 풀었던 문제였는데 Set 을 사용하여 중복을 없애고 길이를 구한 다음 nums 의 절반과 중복을 제거한 길이 중에 작은 수를 반환했다.function solution(nums) { const newSet = new Set(nums); const result = [...newSet].length; const count = nums.length / 2 ..

[프로그래머스 1단계] 문제풀이 #5
💜 코딩테스트/문제풀이2024. 6. 15. 16:42[프로그래머스 1단계] 문제풀이 #5

1. 두 개 뽑아서 더하기[프로그래머스 1단계 - 두 개 뽑아서 더하기] 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr1-1. 내 풀이for 문을 사용하여 모든 결과의 경우를 만들고 오름차순으로 정렬한 후, Set 을 사용하여 중복을 제거하였다.function solution(numbers) {    let arr = []    for(i=0; i a - b));    return [...result];}1-2. 다른 사람 풀이다른 사람도 나와 같은 방법으로 풀었다.function solution(numbers) {    const temp = []    f..

[프로그래머스 1단계] 문제풀이 #4
💜 코딩테스트/문제풀이2024. 6. 11. 19:00[프로그래머스 1단계] 문제풀이 #4

1. 같은 숫자는 싫어[프로그래머스 1단계 - 같은 숫자는 싫어] 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr1-1. 내 풀이filter 를 사용해 index 값을 이용해 결과를 구했다.function solution(arr) { return arr.filter((item,index) => item !== arr[index+1])}1-2. 다른 사람 풀이제일 상위에 있는 답이 나랑 똑같다..! 뿌듯하네function solution(arr){ return arr.filter((val,index) => val != arr[index+1]);} 2...

[프로그래머스 1단계] 문제풀이 #3
💜 코딩테스트/문제풀이2024. 6. 6. 14:14[프로그래머스 1단계] 문제풀이 #3

1. 가운데 글자 가져오기[프로그래머스 1단계 - 가운데 글자 가져오기] 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr1-1. 내 풀이split 를 사용해서 배열로 만들어서 어렵게 풀었다,,너무 비효율적인 방법인 것 같다.function solution(s) { if (s.length % 2 === 0) { return s.split('').slice(s.length / 2 - 1,s.length / 2 + 1).join(''); } else { return s.split('')[Math.floor(s.length / 2)]; ..

[프로그래머스 1단계] 문제풀이 #2
💜 코딩테스트/문제풀이2024. 5. 28. 18:35[프로그래머스 1단계] 문제풀이 #2

1. 정수 내림차순으로 배치하기[프로그래머스 1단계 - 정수 내침차순으로 배치하기] 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr1-1. 내 풀이toString() 으로 문자열로 만들고 split() 로 배열을 만든 후, 역순으로 정렬하고 join 을 사용해 배열을 문자열로 합치고 숫자로 만들었다.function solution(n) { return Number(n.toString().split('').sort().reverse().join(''));}1-2. 다른 사람 풀이나와 비슷하다. 다른 점은 문자열을 만들 때, 자바스크립트의 성질을 사용하여 빈..

[프로그래머스 1단계] 문제풀이 #1
💜 코딩테스트/문제풀이2024. 4. 4. 20:37[프로그래머스 1단계] 문제풀이 #1

1. 평균 구하기 [프로그래머스 1단계 - 평균구하기] 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1-1. 나의 풀이 reduce 를 사용하여 배열 요소들의 합을 sum 에 리턴하고, 평균 값을 구하기 위해 arr 의 길이만큼 나누었다. function solution(arr) { const sum = arr.reduce((acc,item) => { return acc + item; },0) return sum / arr.length } 1-2. 다른 사람 풀이 내 코드와 구현 방법은 동일하지만, 더 간단하게 표현하였다. function average..

💜 코딩테스트/자료구조 & 알고리즘2023. 12. 8. 14:59[알고리즘 공부] BFS / DFS #3

BFS(너비 우선 탐색) BFS(Breadth-first search)는 같은 깊이에 있는 정점부터 탐색하는 알고리즘이다. BFS(너비 우선 탐색) - Queue 를 사용하여 구현 - 시작 지점에서 가까운 정점부터 탐색 - 시간 복잡도 O(정점의 수 + 간선의 수) Queue 를 사용한 BFS step 1 | Queue [ 1 ] Queue에 1을 enqueue step 2 | Queue [ 2 ] [ 3 ] [ 4 ] 1을 dequeue 하고, 자식 정점 2, 3, 4를 enqueue step 3 | Queue [ 3 ] [ 4 ] [ 5 ] [ 6 ] 2를 dequeue 하고, 자식 정점 5, 6를 enqueue step 4 | Queue [ 4 ] [ 5 ] [ 6 ] 3을 dequeue 하고, 자..

image
loading