Coding Test/프로그래머스

문제설명입력 & 출력나의 풀이 public class Solution { public int solution(int number, int limit, int power) { int answer = 0; for(int i = 1 ; i limit){ attackValue = power; } answer+= attackValue; } return answer; } public static int divisorCount(int num){ int cnt = 0; for(int i = 1 ; i   위와 같이 number의 약수를 하나씩 구한다면 오래걸리기..
문제설명입력 & 출력나의 풀이 이번 문제는 주어진 사과 점수를 이용해 상자를 포장하고 최대 이익을 계산하는 간단한 문제입니다. 각 상자는 m개의 사과로 구성되고, 상자의 가격은 가장 낮은 점수에 m을 곱해 계산됩니다. 문제에서 각 상자는 m개의 사과로 구성된다고 했으니, 주어진 m만큼 상자를 나누고, 정렬을 한다면 쉽게 접근할 수 있습니다.  이해를 돕기위해 입출력 예 #2번을 그림과 같이 표현하면 위와 같습니다. 먼저 주어진 score배열을 정렬한다면 아래의 그림처럼 배열이 정렬됩니다. 그리고 m은 3이니깐 3개씩 자른다면 빨간색 선을 기준으로 4개의 사과 상자가 나오게 됩니다. 정렬된 배열에서 각 상자의 최소 점수는 상자의 첫 번째 값이 됩니다. 따라서 for문을 사용해 배열의 끝에서부터 m개씩 묶어..
문제설명입력 & 출력 나의 풀이 컴퓨터의 개수 N과 각 컴퓨터 간의 연결 상태를 나타내는 2차원 배열 computers가 주어질 때 서로 연결된 컴퓨터들을 하나의 네트워크로 간주하고 전체 네트워크의 개수를 리턴하는 문제입니다. 해당 문제는 DFS로 연결된 노드들을 쉽게 찾을 수 있습니다. 먼저 Solution에서는 입력으로 주어지는 컴퓨터의 개수 n과 연결에 대한 정보 배열인 computers를 인자로 받습니다. 입력받은 컴퓨터의 개수만큼 노드가 있어야 하기 때문에 n만큼의 크기를 가지는 visited배열을 초기화를 해줍니다. 연결된 네트워크의 개수를 0으로 초기화해주고, 모든 노드들을 순회하는 반복문을 선언합니다. 만약 해당 노드가 아직 방문하지 않은 노드라면, dfs를 수행하여 해당 네트워크의 모든 ..
문제설명입력 & 출력 나의 풀이import java.util.*;class Solution { public int[] solution(int[] answers) { int[] answer = {}; int[] scores = new int[3]; int[] supo1 = {1,2,3,4,5}; int[] supo2 = {2,1,2,3,2,4,2,5}; int[] supo3 = {3,3,1,1,2,2,4,4,5,5}; for(int i = 0 ; i list = new ArrayList(); for(int i = 0 ; i x.intValue()).toArray(); }} 이번..
지누박
'Coding Test/프로그래머스' 카테고리의 글 목록