프로그래머스(4)
-
타겟 넘버
[문제 접근법] - 해당 숫자들로 Target 숫자를 만들 수 있는지 모든 경우의 수를 구하여 그 값을 리턴하면 된다. 아래의 그림 1의 예시로 모든 경우의 수를 구해보자(아래 표 참고) 모든 경우의 수 numbers[0] numbers[1] numbers[2] numbers[3] numbers[4] 총합 +1 +1 +1 +1 +1 5 +1 +1 +1 +1 -1 3 +1 +1 +1 -1 +1 3 +1 +1 +1 -1 -1 1 +1 +1 -1 +1 +1 3 +1 +1 -1 +1 -1 1 +1 +1 -1 -1 +1 1 +1 +1 -1 -1 -1 -1 +1 -1 +1 +1 +1 3 +1 -1 +1 +1 -1 -1 ... ... ... .. .. .. 위의 표처럼 모든 경우의 수를 구하여 총합이 target과 ..
2022.03.31 -
네트워크
[문제 접근법] - 트리 탐색 중 깊이 우선 탐색(DFS)을 이용하여 네트워크 개수를 반환하였다. https://programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr [구현 1] - DFS 탐색 및 중복 방문을 막기 위해(boolean [] visit)을 이용하여 네트워크 개수를 구하였음 searchNetwork 함수가 재귀적으로 깊이 우선 탐색을 한다. package com.codingtest.programmers.lev..
2022.03.30 -
[Summer/Winter Coding(~2018)] 스킬트리
[문제 접근법] - Topology Sort 개념을 적용하여 해당 스킬의 선행스킬이 먼저 배웠는지 확인하였다. 자세한건 아래 소스코드를 보면서 설명하겟습니다. 토폴로지 정렬이 궁금하다면? 🙄😲 https://m.blog.naver.com/ndb796/221236874984 https://programmers.co.kr/learn/courses/30/lessons/49993 코딩테스트 연습 - 스킬트리 programmers.co.kr [구현 1] 1. 선행스킬 그래프와 후행스킬 그래프를 만든다. 2. 스킬트리를 하나씩 루프를 돌아 해당 스킬의 후행 스킬 찾는다. 2-1. 후행 스킬이 존재한다면 후행 스킬의 선행 스킬을 제거한다. 2-2. 후행 스킬이 존재하지 않는다면 어떠한 연산도 하지 않는다. 3. 만약..
2022.03.29 -
완주하지 못한 선수
https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr [알고리즘 접근 방법] 1. 해쉬 접근법(효율성 평균 41ms=0.041초) -해쉬에 먼저 참가자들을 다 넣는다 -참가자들 중에서 완주자 확인 -미완 주자 출력 //효율성 평균 41ms string solution(vector participant, vector completion) { unordered_map map; //일단 맵에 모든 참..
2022.03.23