분류 전체보기 97

[프로그래머스] 신고 결과 받기 C++ (Lv.1)

https://school.programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이번 문제는 2022 KAKAO BLIND RECRUITMENT 문제였습니다. 📝 문제 풀이 1. 각 유저별로 신고 내역을 담을 reportInfo 맵 선언 (key: 신고한 사람, value: 신고당한 사람) 2. 각 유저별로 신고 당한 횟수를 담을 reportCnt 맵 선언 (key: 신고당한 사람, value: 신고당한 횟수) 3. report 벡터를 순회하며 각 유저별로 신고당한 횟수 카운..

카테고리 없음 2023.04.30

[프로그래머스] 주차 요금 계산 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..

[프로그래머스] 징검다리 건너기 C++ (Lv.3)

https://school.programmers.co.kr/learn/courses/30/lessons/64062?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이번 문제는 이분 탐색 또는 슬라이딩 윈도우 문제였습니다. 글쓴이는 이분 탐색으로 풀이했습니다. 💭 📝 문제 풀이 1. stones 배열 각 원소들의 값은 1 이상이므로 s는 1, e는 stones 배열의 최댓값으로 초기화 2. s

[프로그래머스] 풍선 터트리기 C++ (Lv.3)

https://school.programmers.co.kr/learn/courses/30/lessons/68646?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이번 문제는 다이나믹 프로그래밍(DP) 또는 스택(stack) 문제였습니다. 1. 다이나믹 프로그래밍 DP 📝 문제 풀이 1. 각 풍선의 왼쪽 최솟값(leftMin)과 오른쪽 최솟값(rightMin)을 저장할 배열 선언 leftMin[0]은 a 벡터의 첫번째 값으로 초기화 rightMin[n-1]은 a 벡터의 마지막 값으로 초기화 2. for 문을 돌며 각 풍선의 왼쪽 최솟..

[프로그래머스] 구명보트 C++ (Lv.2)

https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이번 문제는 탐욕법(Greedy) 문제였습니다. 📝 문제 풀이 1. 구명보트는 최대 2명이 탈 수 있으므로 두 개의 인덱스 s, e를 선언 2. 몸무게를 오름차순으로 정렬 ⭐️ 3. 몸무게가 가장 적은 사람과 가장 많은 사람의 합이 limit보다 작거나 같다면 구명보트에 함께 탈 수 있으므로 s++ 4. while 문을 한번 돌 때마다 무조건 구명보트가 1번 사용되므로 e--, answer++ ..

[프로그래머스] 등대 C++ (Lv.3)

https://school.programmers.co.kr/learn/courses/30/lessons/133500 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이번 문제는 dfs 문제였습니다. 📝 문제 풀이 1. 등대의 연결 정보를 info 벡터에 저장 2. 등대 사이의 뱃길이 n-1개 이므로 트리. 1을 루트 노드로 하여 dfs 수행 현재 노드와 연결된 노드가 부모 노드가 아니라면 dfs 수행 각 노드의 dfs 수행이 끝난 후, 자식과 부모 등대 모두 불이 꺼져 있다면 부모 등대 불 켜주기 isLightOn[node] = true 등대에 불을 켜 줄..

[프로그래머스] 부대복귀 C++ (Lv.3)

https://school.programmers.co.kr/learn/courses/30/lessons/132266 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이번 문제는 bfs 문제였습니다. 📝 문제 풀이 1. 길 연결 정보를 info 벡터에 저장 2. sources 벡터를 순회하며 bfs 수행 ➡️ sources[i]에서 강철 부대까지의 최단 거리 탐색 3. result를 갱신한 적이 없으면 answer.push_back(-1) 4. 최단 경로를 찾았다면 answer.push_back(result) 👩🏻‍💻 C++ 코드 #include #inclu..

반응형