코딩테스트

코딩테스트

[JS] 숫자 변환하기

난이도: Lv. 2 정답률: 55% 문제: https://school.programmers.co.kr/learn/courses/30/lessons/154538 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 1. y보다 작기 때문에 정답 가능성이 있는 원소들을 possible에 저장한다. 2. possible에 있는 모든 원소에 대해 n을 더한 것, 2를 곱한 것, 3을 곱한 것이 정답 가능성이 있는지 확인하고, 정답 가능성이 있다면 새로운 possible 배열이 될 Set()에 저장한다. 3. 2.의 반복문이 끝나면 Set을 배열로 변환하여 po..

코딩테스트

[JS] 프렌즈4블록

난이도: Lv. 2 정답률: 56% 문제: https://school.programmers.co.kr/learn/courses/30/lessons/17679 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 1. 블록이 지워진 후 위에 있는 블록을 내릴 때 열 방향으로 처리하는 것보다 행 방향으로 처리하는 것이 더 간단하다. 따라서 원본 board의 전치행렬을 생성한다. 2. 1.에서 생성한 전치행렬을 순회하며 4블록을 확인한다. 4블록임이 확인되면 삭제할 인덱스를 "행번호,열번호" 형태로 Set에 추가한다. 굳이 Set을 안 써도 될 것 같긴 하다..

코딩테스트

[JS] 파일명 정렬

난이도: Lv. 2 정답률: 56% 문제: https://school.programmers.co.kr/learn/courses/30/lessons/17686 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 1. 각 파일명에서 head 부분과 number 부분을 객체로 저장한다. 객체로 저장할 때 origin이라는 키로 원래의 파일 이름도 저장한다. 2. 1.의 과정을 반복하며 키를 head 부분, value를 1.에서 생성한 객체들을 저장한 배열로 하는 객체를 만든다. 3. 2.에서 생성한 객체를 [key, value]의 배열로 변환한다. 4. 3..

코딩테스트

[JS] 롤케이크 자르기

난이도: Lv. 2 정답률: 57% 문제: https://school.programmers.co.kr/learn/courses/30/lessons/132265 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 1. 토핑 종류당 개수가 몇 개 있는지에 대한 Map을 초기화한다. 2. 동생 롤케이크의 토핑 종류를 저장하는 Set을 선언한다. 3. 주어진 토핑 배열 topping의 맨 끝 원소부터 하나씩 2.의 Set에 담고, 1.의 Map의 해당 key의 value를 1 감소시킨다. value가 0이 되는 경우 key를 삭제한다. 4. topping 배..

코딩테스트

[JS] 오픈채팅방

난이도: Lv. 2 정답률: 57% 문제: https://school.programmers.co.kr/learn/courses/30/lessons/42888 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 1. uid별 닉네임을 Object에 저장한다. 2. 1.에 저장되어 있는 닉네임으로 출입 기록에 따른 메시지를 저장한다. 코드 function solution(record) { let answer = []; const uidName = {}; for (let r of record) { const splitArr = r.split(' '); if..

코딩테스트

[JS] 스킬트리

난이도: Lv. 2 정답률: 57% 문제: https://school.programmers.co.kr/learn/courses/30/lessons/49993 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 1. 선행 스킬들을 각각 Set에 담는다. 2. skill_trees의 각 원소들에서 선행 스킬 목록에 없는 문자를 제거한다. 선행 스킬이 "CBD"이고, 스킬 트리가 "AECB" 이면 "CB"가 된다. 3. 2.의 결과 문자열과 선행 스킬 문자열을 2.의 경과 문자열의 길이만큼 자른 문자열이 동일하면 가능한 스킬 트리 이므로 정답을 1 증가시킨..

코딩테스트

[JS] 땅따먹기

난이도: Lv. 2 정답률: 58% 문제: https://school.programmers.co.kr/learn/courses/30/lessons/12913 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 1. 생성된 2차원 배열에서 열별 최댓값을 추출하여 1차원 배열을 생성한다. 2. 생성한 1차원 배열과 다음 행에 대해 1.의 과정을 수행한다. 모든 행에 대해 수행했다면 마지막 1차원 배열에서의 최댓값이 이 문제의 정답이 된다. 참고로 1차원 배열에는 각 행의 각 열까지 오는 경로 중 최댓값만 담기게 된다. 코드 function solution..

코딩테스트

[JS] 주식 가격

난이도: Lv. 2 정답률: 58% 문제: https://school.programmers.co.kr/learn/courses/30/lessons/42584 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 1. 정답 배열을 (주어진 배열 prices의 길이 - 1) 부터 0까지 1씩 감소하는 원소들로 초기화한다. 2. 스택에 삽입할 데이터는 [가격, 인덱스] 형태의 배열이다. 3. 스택 꼭대기에 위치한 원소의 가격이 현재 스택에 삽입할 원소의 가격보다 크면 가격이 떨어졌음을 의미한다. 이 경우 스택을 pop() 하여 몇 초 뒤에 가격이 떨어졌는지 ..

코딩테스트

[JS] 방문 길이

난이도: Lv. 2 문제: https://school.programmers.co.kr/learn/courses/30/lessons/49994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 1. 어느 좌표에서 어느 좌표로 이동했는지를 저장할 Set을 선언한다. 2. 이전 좌표를 저장하는 배열과 현재 좌표를 저장하는 배열을 모두 [0, 0]으로 초기화한다. 3. 이동할 방향의 좌표가 좌표평면의 경계를 넘어가지 않는다면 이동한다. 이동했을 경우 이전좌표와 이동한 현재좌표 순으로 문자열로 바꿔 Set에 추가하고, 현재좌표와 이전좌표 순으로 문자열로 바꾼..

코딩테스트

[JS] 뒤에 있는 큰 수 찾기

난이도: Lv. 2 문제: https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 1. 정답 배열의 모든 원소를 -1로 초기화한다. 2. 스택에 [numbers의 원소, 원소의 인덱스] 배열을 넣는다. 3. 2.를 수행하기 전에 스택 안에 있는 원소들이 새로 넣을 원소보다 작으면 스택을 pop() 하여 꺼낸 원소의 원래 인덱스를 확인하고 정답 배열의 해당 인덱스를 새로 넣을 원소의 값으로 바꾼다. 새로 넣을 원소가 스택에 있는 원소보다 클 ..

미안하다 강림이 좀 늦었다
'코딩테스트' 카테고리의 글 목록 (3 Page)