Algorithm
20019 카카오 개발자 겨울 인턴심 - 크레인 인형뽑기 게임
URL: https://school.programmers.co.kr/learn/courses/30/lessons/64061 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 요점 파악 1. 크레인의 동작 구현 moves에 따라 각 열에서 가장 위의 인형(값이 0이 아닌 첫 번째 값)을 선택.선택된 인형은 board에서 제거하고, drawList라는 스택에 추가.2. 인형 제거 조건 스택(drawList)의 마지막 인형과 새로 추가되는 인형이 동일한 경우:두 인형을 제거.제거된 인형의 수만큼 점수(answer)를 증가.다르면 스택에 인형을 추가.3. 반복 처리moves에 있는 모든 동작을 처리.boa..
프로그래머스 - 2022 KAKAO BLIND RECRUITMENT (신고 결과 받기)
URL: https://school.programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 요점 파악1. 중복 신고 처리동일한 유저가 같은 유저를 여러 번 신고한 경우, 이를 1회로 처리해야 합니다.2. 신고 당한 횟수 계산 각 유저가 신고한 유저 중 "정지된 유저"가 몇 명인지 계산 누적된 횟수 중 k 이상인 유저를 정지된 유저로 판단3. 메일 발송 조건 각 유저가 신고한 유저 중 "정지된 유저"가 몇 명인지 계산 풀이 코드 function solution(id_list, report, k) { const repo..
프로그래머스 - 숫자 짝궁
문제URL: https://school.programmers.co.kr/learn/courses/30/lessons/131128 핵심 파악1. X, Y의 공통된 숫자 찾기 숫자가 중복될 수 있으므로, 한 번 찾은 숫자는 다시 사용할 수 없도록 개발 필요.2. 공통 숫자를 내림차순으로 결과 생성숫자가 없으면 -1 반환공통 숫자가 모두 0이면 0으로 반환3. 긴 테이터가 나올 경우 효율적은 시간 복잡도 생각하여 개발Map, Object를 사용하여 개발 CODEfunction solution(X, Y) { let answer = ""; const countY = new Map(); for (let char of Y) { countY[char] = (countY[char] || 0) + 1; } ..
2019 KAKAO BLIND RECRUITMENT 실패율
1. 문제 URL: https://school.programmers.co.kr/learn/courses/30/lessons/42889 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 2. 문제 핵식 파악실패율의 정의실패율은 해당 스테이지에 도달했지만 아직 클리어하지 못한 사람의 수를, 그 스테이지에 도달한 전체 사람의 수로 나누는 비율입니다.실패율을 정확하게 계산하기 위해서는:각 스테이지마다 도달한 유저 수를 계산해야 합니다.스테이지를 클리어하지 못한 유저 수를 파악해야 합니다.2. 도달한 유저와 머물러 있는 유저의 구분도달한 유저: 해당 스테이지에 도전 중이..
2022 KAKAO TECH INTERNSHIP - 성격 유형 검사하기
문제URL: https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 요점 파악 점수 계산과 선택지의 관계: 각 질문마다 선택한 답에 따라 성격 유형 점수가 달라지며, 선택지의 중앙값(4)이 기준이 되어 점수가 계산됩니다. 동의 선택지는 우측 성격 유형에, 비동의 선택지는 좌측 성격 유형에 점수를 부여하는 방식으로, 선택지가 클수록 동의 성향이, 작을수록 비동의 성향이 반영됩니다.성격 유형 쌍의 점수 비교: 성격 유형은 4개의 지표로 나뉘며, 각 ..
[카카오 인턴] 키패드 누르기
문제URL: https://school.programmers.co.kr/learn/courses/30/lessons/67256 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 파악1. 키패드 좌표 설정 및 손가락 위치 관리키패드의 각 숫자를 2차원 좌표로 변환해 손가락의 이동을 쉽게 계산할 수 있어야 합니다.왼손은 * 키에서, 오른손은 # 키에서 시작하므로 이들의 초기 위치를 설정하고, 각 숫자를 누를 때마다 손가락의 위치를 업데이트하는 것이 중요합니다.2. 거리 계산가운데 열(2, 5, 8, 0)의 숫자를 누를 때는 왼손과 오른손의 거리를 비교해야 합..
로또의 최고 순위와 최저 순위
문제URL: https://school.programmers.co.kr/learn/courses/30/lessons/77484 문제 요점 파악1. 0의 역할 파악:lottos 배열에서 0은 알아볼 수 없는 숫자를 의미하며, 이것은 맞을 수도 있고 틀릴 수도 있는 숫자를 나타냅니다. 따라서, 0의 개수를 파악하는 것이 중요합니다. 0은 최고 순위를 계산할 때 맞춘 숫자로 취급되고, 최저 순위를 계산할 때는 틀린 숫자로 취급됩니다.2. 현재 맞춘 숫자 파악:lottos 배열에서 당첨 번호(win_nums)와 일치하는 숫자의 개수를 세는 것이 중요합니다. 이 숫자는 최저 순위를 계산할 때 사용됩니다.3. 최대와 최소 순위 계산:최고 순위: 0의 개수와 맞춘 숫자 개수를 더해서 계산합니다. 즉, 0을 모두 맞췄..
[PCCP 기출문제] 2번 / 석유 시추
문제 문제 파악1. 연결된 석유 덩어리 탐색문제의 본질은 2차원 배열에서 상하좌우로 연결된 석유 덩어리(1로 표시된 부분)를 찾아내는 것입니다. 이 덩어리들의 크기를 계산하고, 각 열에 시추관을 설치했을 때 얻을 수 있는 석유량을 파악하는 것이 핵심입니다.2. DFS 또는 BFS를 이용한 탐색DFS(깊이 우선 탐색) 또는 BFS(너비 우선 탐색)을 사용하여 2차원 배열에서 서로 연결된 석유 덩어리를 탐색합니다. 이 과정에서 이미 방문한 곳은 다시 탐색하지 않도록 방문 처리를 해야 합니다.3. 열별로 석유 덩어리 합산각 열에 시추관을 설치했을 때, 그 열을 통과하는 석유 덩어리들의 크기를 합산해야 합니다. 이를 위해 각 덩어리가 포함된 열 정보를 저장하고, 열별로 석유량을 계산하는 과정이 필요합니다.4. ..