알고리즘/프로그래머스 47

[프로그래머스] 두 큐 합 같게 만들기 C++ (Lv.2)

https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이번 문제는 2022 KAKAO TECH INTERNSHIP 문제였습니다. 글쓴이는 투 포인터를 사용하여 풀이했습니다. 🙂 📝 문제 풀이 1. 두 큐의 모든 원소를 담을 v 벡터 선언 2. v 벡터에서 가리킬 queue1, queue2의 각 시작 지점과 끝 지점 선언 (queue1의 시작 지점: s1, queue1의 끝 지점: e1) 3. queue1, queue2의 각 모든 원소의 합을 담을 ..

[프로그래머스] [1차] 비밀지도 C++ (Lv.1)

https://school.programmers.co.kr/learn/courses/30/lessons/17681 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이번 문제는 2018 KAKAO BLIND RECRUITMENT 문제였습니다. 📝 문제 풀이 1. 두 지도의 각 가로열을 or 연산 (지도 중 어느 하나라도 1이면 전체 지도에서도 1이므로) 2. 1의 결과값을 소인수분해 2로 나누어 떨어지면 tmp += " " 2로 나누어 떨어지지 않으면 tmp += "#" 3. tmp 값 뒤집기 👩🏻‍💻 C++ 코드 #include #include #inclu..

[프로그래머스] 메뉴 리뉴얼 C++ (Lv.2)

https://school.programmers.co.kr/learn/courses/30/lessons/72411 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이번 문제는 2021 KAKAO BLIND RECRUITMENT 문제였습니다. 글쓴이는 DFS로 풀이했습니다. 📝 문제 풀이 1. orders 벡터의 각 단품메뉴에 대해서 course 요소만큼의 코스요리의 메뉴 구성의 주문 횟수를 dfs를 통해 combination 맵에 누적 ⭐️ 2. combination 맵에서 가장 많이 주문된 수를 maxCount 변수에 저장 3. maxCount가 2보다 ..

[프로그래머스] 순위 검색 C++ (Lv.2)

https://school.programmers.co.kr/learn/courses/30/lessons/72412 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이번 문제는 2021 KAKAO BLIND RECRUITMENT 문제였습니다. 📝 문제 풀이 1. info 배열의 각 원소의 값을 stringstream으로 공백을 제거하고 코딩테스트 점수를 제외한 값은 tmp[i][0]에 삽입 💡 tmp 벡터는 [['java', '-'], ['backend', '-'], ['junior', '-'], ['pizza', '-']] 와 같은 형태 2. scores ..

[프로그래머스] 크레인 인형뽑기 게임 C++ (Lv.1)

https://school.programmers.co.kr/learn/courses/30/lessons/64061 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이번 문제는 2019 카카오 개발자 겨울 인턴십 문제였습니다. 📝 문제 풀이 1. 각 위치에서 가장 위에 있는 인형의 좌표를 담을 doll 벡터 선언 vector doll(board[0].size() + 1, {-1, -1}); ⬅️ 위치는 1부터 시작하므로 board[0].size() + 1 2. 각 위치에서 가장 위에 있는 인형의 좌표 담기 (빈 칸이 아니면 인형이 들어있는 칸) ⭐️ 3. m..

[프로그래머스] 키패드 누르기 C++ (Lv.1)

https://school.programmers.co.kr/learn/courses/30/lessons/67256 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이번 문제는 2020 카카오 인턴십 문제였습니다. 📝 문제 풀이 ⭐️ * ➡️ 10, 0 ➡️ 11, # ➡️ 12로 생각하기 1. 맨 처음 왼손 엄지손가락 위치를 10, 오른손 엄지손가락 위치를 12로 초기화 2. 누를 번호 1, 4, 7 ➡️ 왼손 엄지손가락으로 입력 3. 누를 번호 3, 6, 9 ➡️ 오른손 엄지손가락으로 입력 4. 누를 번호 2, 5, 8, 0 ➡️ 왼손 엄지손가락과의 거..

[프로그래머스] 주차 요금 계산 C++ (Lv.2)

https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이번 문제는 2022 KAKAO BLIND RECURITMENT 문제였습니다. 📝 문제 풀이 1. 차량의 입차 시간을 담을 getIn 맵 선언 (key: 차랑 번호, value: 입차 시간) 2. 각 차량의 주차 이용 시간을 담을 timeOfUse 맵 선언 (key: 차랑 번호, value: 누적된 주차 이용 시간) 3. records 벡터를 순회하며 주차 이용 시간 계산 records의 각 문..

[프로그래머스] 실패율 C++ (Lv.1)

https://school.programmers.co.kr/learn/courses/30/lessons/42889?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이번 문제는 2019 KAKAO BLIND RECRUITMENT 문제였습니다. 📝 문제 풀이 1. 실패율과 스테이지 번호를 담을 failure 벡터 선언 2. 모든 사용자는 스테이지 1에 도달할 수 있으므로 noReachStage는 0으로 초기화 3. 스테이지를 클리어하지 못한 사용자의 수는 해당 스테이지의 번호에 멈춰있는 사용자이므로 stages 벡터에서 해당 스테이지 번..

[프로그래머스] 더 맵게 C++ (Lv.2)

https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이번 문제는 힙(Heap) 문제였습니다. 스코빌 지수가 가장 낮은 두 개의 음식을 섞어야 하므로 오름차순으로 정렬되는 우선순위 큐를 사용했습니다. 🙂 📝 문제 풀이 1. 우선순위 큐 pq의 정렬 조건을 오름차순으로 지정 2. 모든 음식을 pq에 삽입 3. 스코빌 지수가 가장 낮은 음식 2개를 섞어서 pq에 삽입 (pq의 사이즈가 2보다 작을 때까지 반복) 4. 모든 음식의 스코빌 지수를 K 이상으..

[프로그래머스] 택배상자 C++ (Lv.2)

https://school.programmers.co.kr/learn/courses/30/lessons/131704 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이번 문제는 스택(stack) 문제였습니다. 📝 문제 풀이 1. 1번 상자부터 내릴 수 있으므로 for 문 1부터 순회 2. 스택 top과 현재 상자 번호가 같으면 상자를 내리고 (pop) answer++ 📍 택배 기사님이 원하는 순서대로 상자를 담아야 하므로 현재 상자를 가리키는 인덱스는 answer 👩🏻‍💻 C++ 코드 #include #include #include using namespa..

반응형