본문 바로가기

분류 전체보기38

[프로그래머스] 여행경로 Java programmers.co.kr/learn/courses/30/lessons/43164 코딩테스트 연습 - 여행경로 [[ICN, SFO], [ICN, ATL], [SFO, ATL], [ATL, ICN], [ATL,SFO]] [ICN, ATL, ICN, SFO, ATL, SFO] programmers.co.kr 문제 요약 출발지와 도착지로 이루어진 티켓의 배열이 주어진다. "ICN"부터 시작해서 티켓을 모두 소모하여 경로 배열을 반환해야 한다. 티켓을 모두 소모할 수 있는 방법이 2개 이상이라면 사전 순으로 가장 앞선 방법을 선택하면 된다. 문제 풀이 이 문제 또한 DFS를 사용해서 풀었다. 문제 난이도는 크게 어려울 게 없었고, 사전순으로 빠른 경로를 찾기 위해 정렬해 주는 부분만 생각해주면 되는 문제이.. 2020. 10. 16.
[프로그래머스] 단어 변환 Java programmers.co.kr/learn/courses/30/lessons/43163 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr 문제 요약 문자열 begin과 target 그리고 문자열 배열 words가 주어진다. begin에서 한 글자씩 바꿔서 target을 만들어야 한다. begin에서 바꿀 값은 words 배열 내에 존재해야하며, target까지 가장 적게 변환한 횟수를 반환하는 함수를 만들어야 한다. 문제 풀이 다른 방식의 문제 같지만 기본적인 DFS .. 2020. 10. 14.
[프로그래머스] 네트워크 Java programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있�� programmers.co.kr 문제 요약 컴퓨터의 개수 n과 각 컴퓨터들의 연결 여부를 저장한 computers 2차원 배열을 받아서, 네트워크 (연결된 컴퓨터 그룹)의 개수를 반환하는 문제이다. 문제 풀이 어제에 이은 두 번째 탐색문제이다. 문제의 난이도는 전혀 어렵지 않았고, dfs로 풀어야겠다고 생각은 바로 했는데 푸는 과정에서 List 배열을 만들어서 연결된 컴퓨터의 값들을 저장한다던지, .. 2020. 10. 13.
[프로그래머스] 타겟 넘버 Java programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 문제 요약 int 배열인 numbers의 값들을 하나씩 더하거나 빼서 target으로 만들 수 있는 경우의 수를 반환하는 함수를 만들어야 한다. 문제 풀이 저번 코테에서 탐색에 약하다는 사실을 깨닫고 풀어본 첫번째 탐색 문제이다. 레벨 2 문제가 맞나 싶을 정도로 난이도가 낮은 문제인 것 같다. DFS를 이용해서 배열의 인.. 2020. 10. 12.