SIU
article thumbnail
[프로그래머스 레벨2] 영어 끝말잇기 [Javascript/ 문자열, 스택]
JavaScript/알고리즘(JS) 2023. 4. 21. 02:03

https://school.programmers.co.kr/learn/courses/30/lessons/12981 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(n, words) { var answer = []; // 첫 번째 단어의 마지막 알파벳 미리 넣기 let char = words[0][words[0].length-1]; for(let i = 0; i 1 일 때 가장 먼저 중복되는 사람 체크 if(wo..

article thumbnail
[프로그래머스 레벨1] 두 개 뽑아서 더하기 [Javascript/ Set]
JavaScript/알고리즘(JS) 2023. 4. 20. 03:58

https://school.programmers.co.kr/learn/courses/30/lessons/68644 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(numbers) { const sums = []; const answer = []; // 두 요소의 합 for(let i = 0; i < numbers.length; i++){ for(let j = 0; j < numbers.length; j++){ if(i !== j){ sums.push(numbers[i] + numbers[j]); } } } // 중복 제거 s..

article thumbnail
[프로그래머스 레벨2] 삼각달팽이 [Javascript/ 이차원 배열 응용]
JavaScript/알고리즘(JS) 2023. 4. 15. 08:38

ES6 문법으로 이차원 배열 생성하는 방법 먼저 자바스크립트에서 2차원 배열을 선언하는 방법을 알아봅시다. const arr = new Array(5).fill(0).map(() => new Array(4)); 배열을 만들어주고 만든 배열의 원소에 fill 메소드를 통해 값을 채워 넣습니다. 그런 뒤, map 함수를 실행해 각 원소의 자리에 길이가 4인 배열로 바꿔줍니다. fill 메소드를 쓰는 이유는 빈 배열의 경우 map 함수가 제대로 실행되지 않기 때문입니다. 만약 n x n 이차원 배열을 만들고 싶다면, const arr = new Array(n).fill().map(() => new Array(n)); const arr2 = Array.from(Array(n), () => Array(n).fil..

article thumbnail
[프로그래머스 레벨2] 스킬트리 [Javascript/ 문자열 처리]
JavaScript/알고리즘(JS) 2023. 4. 15. 00:12

문제 https://school.programmers.co.kr/learn/courses/30/lessons/49993 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 깃허브 https://github.com/Seongho0503/Algo_Study/blob/main/Week18/PGS_LV2_49993_%EC%8A%A4%ED%82%AC%ED%8A%B8%EB%A6%AC/0414%20%EA%B6%8C%EC%84%B1%ED%98%B8.md GitHub - Seongho0503/Algo_Study: 코딩테스트 대비 알고리즘 및 CS 스터디입니다. 코딩테스트 대비..

article thumbnail
[프로그래머스 레벨2] 게임 맵 최단거리 [Javascript/ BFS]
JavaScript/알고리즘(JS) 2023. 3. 26. 01:42

부제 : VISITED 배열로 최솟 값 찾기 https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 최단 거리로 목적지에 도착하는 BFS 문제입니다. 그래서 큐를 사용해서 이동할 방향을 넣어주었습니다. 우리가 필요한 건 저 빨간색 지점(배열의 가장 모서리)에 도착했을 때의 최솟 STEP 수를 세어주면 된다. 아래의 그림을 살펴보자 아래의 그림을 보면 마지막 지점에 도착하는 방법은 여러 방법이 있다. 7 지점에서 위하고 오른쪽에 접근할 수 있는..

article thumbnail
[프로그래머스 레벨1] 체육복 [Javascript/ 그리디]
JavaScript/알고리즘(JS) 2023. 3. 21. 01:35

https://school.programmers.co.kr/learn/courses/30/lessons/42862?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으..

article thumbnail
[프로그래머스 레벨2] 타켓 넘버 [Javascript/ DFS]
JavaScript/알고리즘(JS) 2023. 3. 6. 13:44

문제 유형 https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 +, - 선택 (있거나 없거나) 양자 택일은 dfs 또한, 연산 끝이(depth) 있다. (피연산자 개수만큼) 기저조건을 피연산자를 다 사용했을 때와 count 개수 세는 로직과 분리해야 한다. 만약 if(count === numbers.length && sum === target) 이렇게 설계하면 함수 종료 return과 count 둘 중 하나가 안 돌아간다. (무한 호출 ..

article thumbnail
[프로그래머스 레벨2] 가장 큰 수 [Javascript/ 정렬]
JavaScript/알고리즘(JS) 2023. 3. 6. 10:00

문제 유형 : 정렬 https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 오름차순 문자열 비교 : 가장 큰 수 구할 때 .sort((a,b) => (b+a) - (a+b)).join("") 내림차순 문자열 비교 : 가장 작은 수 구할 때 .sort((a,b) => (a+b) - (b+a)).join("") 테스트 케이스 주의 [0,0,0,0] => "0" 전체 코드 1) 내림차순 정렬하고 0번째 인덱스가 0인 경우 function solu..