목록알고리즘/프로그래머스 (62)
어흥
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/68645 코딩테스트 연습 - 삼각 달팽이 5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11] programmers.co.kr 1. 주의할 점 - 어떤 방식으로 접근할건지 생각한다 2. 구현 - 삼각달팽이가 하삼각행렬이라고 생각한다 - 아래,오른쪽,왼쪽위 대각선 총 3개의 방향을 규칙적으로 움직인다 → dx,dy를 통해 나타낸다 - 각 방향으로 움직이는 정도가 n-1, n-2, n-3, ...., 1, 0 만큼 움직이므로 이를 While문을 통해 구현 #include #includ..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 1. 주의할 점 - 입력에 대한 처리를 잘 수행한다 - Map을 이용한다 2. 구현 - 입장/퇴장에 대한 내용을 Word 벡터에 저장한다 - 유저아이디를 Ids 벡터에 저장한다 - Map 에 형태로 저장한다 - Ids 벡터와 Map 그리고 Word 벡터를 잘 이용하여 정답을 반환한다 #include #include #include #include #..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/72412
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 1. 주의할 점 - Set을 적절히 사용하며 정렬을 잘 활용해야 한다 2. 구현 - 만들 메뉴의 수를 Len set에 저장한다 - Orders 벡터에 있는 원소를 정렬하며, 원소 자체(문자열)도 정렬한다 - Orders 벡터에 있는 원소로 만들 수 있는 메뉴 구성을 DFS() 함수를 통해 생성하며, 만약 able의 길이가 Len에 포함된 숫자와 같다면..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 1. 주의할 점 - 문제의 조건을 잘 이해하고 그대로 구현한다 2. 구현 - dq 덱을에 new_id를 1차 필터링 한 결과를 담는다(특정 문자 + 연속된 . 처리 + 대문자→소문자) : 1,2,3번 조건 처리 - Cnt 변수를 통해 덱의 크기를 나타낸다 - if문을 각각 수행하여 덱의 가장 앞쪽과 뒤쪽이 . 이면 제거한다 : 4번 조건 처리..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/85002 코딩테스트 연습 - 6주차 복서 선수들의 몸무게 weights와, 복서 선수들의 전적을 나타내는 head2head가 매개변수로 주어집니다. 복서 선수들의 번호를 다음과 같은 순서로 정렬한 후 return 하도록 solution 함수를 완성해주세요 programmers.co.kr 1. 주의할 점 - 승률을 소수점도 포함한다 - 승률을 계산할 때, 이긴횟수와 진 횟수를 통해 계산한다(N 포함x) 2. 구현 - Info 구조체를 통해 각 정보를 저장한다 - Cmp operator를 통해 우선순위큐의 정렬 방법을 설정한다 - 각 선수들의 정보를 계산하여 우선순위큐에 넣고, 다 끝났으면 1개씩 빼면서..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/84325 코딩테스트 연습 - 4주차 개발자가 사용하는 언어와 언어 선호도를 입력하면 그에 맞는 직업군을 추천해주는 알고리즘을 개발하려고 합니다. 아래 표는 5개 직업군 별로 많이 사용하는 5개 언어에 직업군 언어 점수를 부 programmers.co.kr 1. 주의할 점 - 차례대로 완벽하게 구현한다 - 우선순위큐와 Map을 활용한다 2. 구현 - Table 벡터에 있는 정보들을 각각 V 벡터와 M[] 맵에 담는다. 맵에 담는 이유는, M[][언어]를 검색했을 때, 보다 빠르게 검색이 되기 때문이다 - 5개의 직업군에 대해 각각의 언어와 선호도를 계산하여 우선순위큐에 넣는다. 이때, 우선순위큐는 총점..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/81304 코딩테스트 연습 - 미로 탈출 4 1 4 [[1, 2, 1], [3, 2, 1], [2, 4, 1]] [2, 3] 4 programmers.co.kr 1. 주의할 점 - 10가지 Trap의 상태를 어떤 방식으로 저장할 것인가 - 최단경로 알고리즘인 다익스트라 알고리즘에 대해 알고 있어야 한다 2. 구현 (아래 색칠된 3개가 가장 중요한 비트마스크 수식) - Trap의 상태가 최대 10개다 + 다익스트라를 사용해야 할 것 같다 → Trap의 상태가 공용으로 설정되면 안된다 → 비트마스킹을 사용한다 - 현재 Node, 총 이동거리, 현재 Trap의 상태를 나타내는 Info 객체를 사용한다 - M..