본문 바로가기

자료구조+알고리즘/Programmers

[프로그래머스 level03] 순위 - javascript https://school.programmers.co.kr/learn/courses/30/lessons/49191 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] 문제의 예제를 보면 [4,3]은 4가 이긴거고 [3, 2]는 3이 이긴거다. 4 -> 3 -> 2 이므로 4는 2를 역시 이기게 된 게 된다. 해당 풀이를 모든 노드에서 모든 노드까지 최소비용을 구하는 "플로이드" 알고리즘을 써서 풀어보는게 나을꺼 같다. (이전의 글 참고: https://eonhwa-theme.tistory.com/178) ﹅ 문제 해결 방식 이차원 배열에 각 선수들의 .. 더보기
[프로그래머스-level2] 조이스틱 - javascript https://school.programmers.co.kr/learn/courses/30/lessons/42860 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] AAA -> JAZ 로 만들기 위해서는 "▲ 커서" 9번 조작 : A→"J" "◀ 커서" 1번 조작 : 맨 뒤의 문자로 커서 이동 "▼ 커서" 1번 조작 : A→"Z" 총 11번 이동으로 만들 수 있다. 💡 고려 사항 1️⃣ 상하 이동 ▲ or ▼ 알파벳의 아스키 코드를 이용해서 13번째 값인 N 을 기준으로 짧은 이동 구한다 for(let i = 0; i < name.length; i+.. 더보기
[프로그래머스-level2] 게임 맵 최단거리 - javascript https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] 최단거리를 구하는 거니 BFS 알고리즘을 사용해야 한다. 알고리즘 이해만 있다면 수월하게 풀 수 있는 난이도 문제. function solution(maps) { let answer = 1; let visited = maps //탐색을 마친 노드들 let needVisit = []; //탐색해야할 노드들 const n = maps.length; //세로 const m = maps[0].le.. 더보기
[프로그래머스-level2] 기능개발 (javascript) https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] - 각 기능은 진도가 100% 일 때 배포 가능 - 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발되더라도 앞에 있는 기능이 배포될 때 함께 배포 ---> Queue 활용 Math.ceil() Math.ceil() - JavaScript | MDN The Math.ceil() static method always rounds up and returns the smallest integer.. 더보기
[프로그래머스_lv2] 타겟 넘버 (javascript) https://school.programmers.co.kr/learn/courses/30/lessons/43165?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [유형] - 깊이/너비 우선 탐색 (DFS/BFS) [풀이] 💡 노드그래프 시각화할 수 있는 사이트: https://csacademy.com/app/graph_editor/ dfs 풀이 const numbers = [4, 1, 2, 1]; //[1, 1, 1, 1, 1]; const target = 4; //3; function solution(numbers, .. 더보기
[프로그래머스_Lv.1] 바탕화면 정리 (javascript) https://school.programmers.co.kr/learn/courses/30/lessons/161990 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] x, y 좌표를 어떻게 구할까 ? 를 먼저 고민해봐야한다. (바탕화면)좌표에서 여러개의 파일이 있다고 생각했을 때, 모두 아우르는 범위를 알려면 드래그의 시작점은 젤상단의 왼쪽 이여야 하고 드래그의 끝점은 젤하단의 오른쪽이여야 한다. 주의할점은 이 문제에서 x축 ,y축 반대방향으로 간다 1. 이중for문 돌려서 좌표 마다 순회한다 2. '#' 이 나오면 x 좌표 배열에 (원래는 y좌표).. 더보기
[프로그래머스_lv1] 카드 뭉치 (javascript) https://school.programmers.co.kr/learn/courses/30/lessons/159994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] 쉽다. goal 을 기준으로 각각의 단어를 순회하면서 cards1 에 있으면 넘어가고, 없으면 cards2에 있는지 확인, 없으면 No / 다 검사해서 있으면 Yes 리턴하면 끝! function solution(cards1, cards2, goal) { let index1 = 0; let index2 = 0; for (word of goal) { if(word === cards1[in.. 더보기
[프로그래머스 Lv.1] 공원 산책 (javascript) https://school.programmers.co.kr/learn/courses/30/lessons/172928 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제] [풀이] 일단 시작점이 ('S') 무조건 첫번째가 아니다 -> 1. 시작점 찾기 'X' 표시에서는 건너뛰고 다음 루트 이동해야한다 -> block 좌표 2. x, y 0 이하 / x , y 좌표 벗어나는 지도 고려해야함 ! [코드] park: ["SOO","OOO","OOO"] routes: ["E 2","S 2","W 1"] result: [2,1] function solution(p.. 더보기
[프로그래머스 Lv.1] 추억 점수 (javascript) https://school.programmers.co.kr/learn/courses/30/lessons/176963 [문제 풀이] 가장 짧은 예시인 두번째걸 보면 kali 는 11 mari 는 1 don 는 55 photo 의 첫번째 배열에서 11+1+55 = 67 인것이다 [코드 풀이] function solution(name, yearning, photo) { // key-value 객체로 점수 매칭 const matching = {}; for(let i=0; i i.reduce((arr, cur) => arr + (matching[cur] || 0), 0)) return answer; } photo 배열을 map 을 통해 돌려주고 (배열을 리턴해줌) matching[cur] 에 값이 있으면 arr .. 더보기
[프로그래머스Lv.1] 짝수와 홀수 (.javascript 풀이) https://school.programmers.co.kr/learn/courses/30/lessons/12937 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [나의 풀이] 기본적인 if 분기문 으로 나누었을 때 나머지가 0이면 짝수, 아니면 홀수 처리 해줌 [다른 풀이] 삼항 연산자로 코드 수 줄임 1이면 true, 0이면 false 더보기

반응형