반응형

프로그래머스 5

[JS] 프로그래머스_ 방문길이

문제링크 코딩테스트 연습 - 방문 길이 programmers.co.kr 방향에 따른 이동 좌표를 direction이라는 변수에 키, 쌍 형태로 만들어준다. 방문된 이동 경로를 찾기위해 집합 자료형으로 visited를 만들어준다. (중복을 제거하기 위해 집합 사용) 현재 좌표를 now라고 하고, 0,0으로 세팅한다. 반복문으로 dirs에 따른 이동 좌표를 구한다.(dx,dy) 좌표 평면의 경계를 넘어가는 명령어는 무시하기 위해 5보다 크거나, -5보다 작은 4개의 조건에서는 for문을 건너뛴다. 이동 경로는 (0,1) -> (1,1) 로 간 경로와 (1,1) -> (0,1) 간 것을 같다고 치기 때문에, 이 두개의 경로를 모두 구해서 visited에 add 해준다. 이렇게 되면 동일 경로가 2개씩 들어가게..

알고리즘 2021.07.25

[JS] 프로그래머스_ 짝지어 제거하기

문제링크 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr stack 이라는 빈 배열을 만들어주고, stack 배열이 비어있지 않았다면, 배열의 마지막 요소와, 현재 요소가 같은지 비교한다. 같을 경우, stack 배열에 있던 요소를 빼주고, 같지 않다면 stack에 추가한다. stack이 비어있으면(처음 혹은, 앞의 같은 두 수가 제거되었을 경우) stack에 새 요소를 추가해준다. 최종적으로 배열에 아무것도 없으면 짝지어서 잘 빠져나간 것이므로 짝지어 제거하기가 성공 = 1 아니라면 0 출력 f..

알고리즘 2021.07.25

[JS] 프로그래머스 팰린드롬 개수 구하기

문제 설명 앞에서부터 읽을 때와 뒤에서부터 읽을 때 똑같은 단어를 팰린드롬(palindrome)이라고 합니다. 예를들어서 racecar, 10201은 팰린드롬 입니다. 두 자연수 n, m이 매개변수로 주어질 때, n 이상 m 이하의 자연수 중 팰린드롬인 숫자의 개수를 return 하도록 solution 함수를 완성해 주세요. 제한사항 m은 500,000이하의 자연수이며, n은 m 이하의 자연수입니다. 입출력 예 입출력 예 설명 입출력 예 #1 1 이상 100 이하의 팰린드롬은 다음과 같이 18개가 있습니다. 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, 55, 66, 77, 88, 99 입출력 예 #2 100 이상 300 이하의 팰린드롬은 다음과 같이 20개가 있습니다. 1..

알고리즘 2021.07.25

[JS] 프로그래머스 1단계 - 모의고사(완전탐색)

문제링크 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 코드 function solution(answers) { var answer = []; //수포자 3명의 찍는 패턴(반복 됨) let students = [ [1,2,3,4,5], [2,1,2,3,2,4,2,5], [3,3,1,1,2,2,4,4,5,5] ]; //수포자들의 점수 let score = [0,0,0]; //수포자별 점수 계산 for(let i=0; i

알고리즘 2021.06.09

[JS] 프로그래머스 1단계 - 체육복(greedy)

링크 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 코드 function solution(n, lost, reserve) { var answer = 0; let total = []; //전체 학생을 1로 세팅 for (let i=0; i

알고리즘 2021.06.09