본문 바로가기

Algorithme/Programmers16

[프로그래머스] 네트워크 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.
[프로그래머스] 삼각 달팽이 Java programmers.co.kr/learn/courses/30/lessons/68645 코딩테스트 연습 - 삼각 달팽이 5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11] programmers.co.kr 문제 요약 정수 n이 매개변수로 주어집니다. 다음 그림과 같이 밑변의 길이와 높이가 n인 삼각형에서 맨 위 꼭짓점부터 반시계 방향으로 달팽이 채우기를 진행한 후, 첫 행부터 마지막 행까지 모두 순서대로 합친 새로운 배열을 return 하도록 solution 함수를 완성해주세요. 문제 풀이 규칙을 찾기 위해서 n이 1일 때부터 그림을 하나 씩 그려보았다. 처음에는 보이지 않았지만 다음.. 2020. 10. 8.
[프로그래머스] 두 개 뽑아서 더하기 Java programmers.co.kr/learn/courses/30/lessons/68644 코딩테스트 연습 - 두 개 뽑아서 더하기 programmers.co.kr 문제 요약 int 배열 numbers를 받아서 그 안의 두 개의 원소를 더해서 나올 수 있는 값들의 배열 answer을 반환하는 함수를 만들면 된다. 문제 자체는 전혀 어렵지 않기 때문에 어떻게 하면 깔끔하게 짤 수 있을지 고민하는 시간이 대부분이 었던 문제였다. 문제 풀이 어떻게 풀어야지 깔끔할까 고민하다가 boolean 배열을 이용하기로 했다. numbers 배열의 원소 2개 합으로 나올 수 있는 값은 0 ~ 200 이기 때문에 크기 201의 boolean 배열을 선언하고, 반복문을 통해 나온 원소의 합이 처음 나온 수라면 boolean 배열.. 2020. 10. 7.