프로그래머스 6

[프로그래머스][C++] 네트워크

문제https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이💡 문제 접근한 컴퓨터와 연결된 다음 컴퓨터를 탐색하고, 그 다음 컴퓨터와 연결된 컴퓨터를 계속해서 탐색해 나간다.탐색 중 연결이 끊기면 하나의 네트워크가 완성된 것 = 네트워크 + 1💡 DFS, 재귀함수1번 컴퓨터와 연결되어 있는 컴퓨터를 탐색하기 위해 dfs 함수를 호출한다.1번 컴퓨터가 2번 컴퓨터와 연결되어 있는 것을 발견한다.2번 컴퓨터와 연결되어 있는 컴퓨터를 탐색하기 위해 df..

[프로그래머스][C++] 큰 수 만들기

문제https://school.programmers.co.kr/learn/courses/30/lessons/42883 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이 💡 문제 접근k개의 수를 제거 = ( number.length() - k )개의 수를 뽑는 것가장 큰 수를 뽑는다.앞 자리가 클 수록 크다.1. 0번째 인덱스부터 k번째까지의 범위 내에서 가장 큰 수를 찾는다.2. 뽑은 수 (가장 큰 수)를 answer에 삽입하고 그 수의 인덱스를 저장한다.3. 뽑은 수의 인덱스 다음 인덱스부터 다시 가장 큰 수를 찾는다. 이때, 탐색 범위를 1 늘려준다. ..

[프로그래머스][C++] 타겟 넘버

문제https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이💡 DFS, 재귀함수종료 조건: numbers 배열의 모든 수를 선택 완료다음 인덱스로 넘어가면서 + 또는 - 를 선택하여 연산한 값을 넘긴다. 코드#include #include using namespace std;int answer;void dfs(int idx, int sum, int target, vector &numbers) { if (idx == numbers.size()) {..

[프로그래머스][C++] 스킬트리

문제https://school.programmers.co.kr/learn/courses/30/lessons/49993 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이1️⃣ queue1. 알파벳 개수(26) 크기의 배열로 순서와 상관없는 스킬(true)과 선행 스킬이 필요한 스킬(false)을 표시한다.2. 스킬의 순서 비교를 위해 큐를 생성하여 skill 값을 할당한다.3. skill_trees 내의 문자열 탐색    (1) 선행 스킬이 필요없는 스킬은 무시한다.    (2) 선행 스킬이 필요한 스킬일 경우, 큐를 이용해 순서가 같은지 확인한다. (que..

[프로그래머스][C++] 키패드 누르기

문제https://school.programmers.co.kr/learn/courses/30/lessons/67256 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이 💡 규칙1, 4, 7: 왼손 3, 6, 9: 오른손2, 5, 8, 0: 거리 계산(더 가까운 쪽) 💡 거리 계산키 변환: *: 11 / 0: 12 / #: 13                                                  1   2   3            1     2     3                                              ..

[프로그래머스][C++] 체육복

문제https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이1. 모든 학생들의 체육복 수 계산    (1) 처음에 모든 학생들은 1개의 체육복을 가지고 있다.    (2) 여벌의 체육복이 있는 학생: +1    (3) 체육복을 도난당한 학생: -12. 1번 학생부터 체육복을 빌리는 경우 계산    (1) 도난당한 학생(체육복 개수: 0)은 양옆의 학생에게 체육복을 빌릴 수 있는지(체육복 개수: 2) 확인한다.    (2) 왼쪽 학생에게 우선적으로 빌린다..