algorithm/프로그래머스 (40) 썸네일형 리스트형 프로그래머스_전력망을 둘로 나누기(JAVA) https://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] BFS을 이용하여 문제를 풀었습니다. 트리가 주어졌을 때 간선을 하나 끊어서 양쪽 노드의 갯수의 차이가 최소인 것을 구하는 문제입니다. 아이디어는 다음과 같습니다. 주어진 트리를 기록할 이차원 배열을 선언하여 기록하여 줍니다. 그 후 간선을 하나씩 뽑으면서 이차원 배열에 기록된 간선을 지워주고 한쪽 노드의 갯수를 구하여 차이를 구합니다. 구현한 방식은 아래와 같습니다. MAP[노드의.. 프로그래머스_소수 찾기(JAVA) https://school.programmers.co.kr/learn/courses/30/lessons/42839 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 완전탐색을 이용하여 문제를 풀었습니다. 완전탐색으로 순열과 에라토스테네스의 체를 이용하였습니다. 구현한 방식은 아래와 같습니다. 나올 수 있는 모든 숫자를 뽑기 위해 순열을 이용하여 숫자를 만들어 주었습니다. 순열을 구현한 방식은 만들 숫자의 길이 r를 정해주고 뽑은 숫자를 boolean 배열에 적어주며 뽑은 숫자의 길이가 r과 같아지면 에라토스테네스의 체를 이용하여 소수인지 판별을.. 프로그래머스_가장 큰 수(JAVA) https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 단순 정렬을 이용하여 문제를 풀었습니다. 정렬의 조건으로 숫자 S1, S2에 대해 (S1 + S2) 와 (S2 + S1)을 비교하여 큰 순서대로 정렬하였고 reduce를 통해 차례대로 숫자를 뽑으며 두 숫자가 모두 0인 경우는 0을 뽑아주는 식으로 구현을 했습니다. [JAVA] import java.util.Arrays; class Solution { public String sol.. 프로그래머스_더 맵게(JAVA) https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 우선순위 큐를 이용하여 문제를 풀었습니다. 해당 문제는 소코빌 지수를 몇번안에 만들 수 있는지를 찾는 문제 였으며, 로직은 아래와 같습니다. 배열로 주어진 스코빌 지수들을 우선순위큐에 추가해줍니다. 큐에 원소가 없을 때까지 큐를 순회합니다. 가장 앞에 있는 원소가 스코빌 지수보다 클 경우 횟수를 반환합니다. 큐에 값이 두개 미만으로 존재할 경우 -1을 반환합니다. 4, 5번의 경우가.. 프로그래머스_체육복(JAVA) https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 그리디 알고리즘을 이용해 문제를 풀었습니다. 해당 문제의 아이디어는 여분의 옷을 가진 학생이 있다면 앞에 존재하는 학생에게 먼저 빌려줄 수 있는지 확인하고 없는 경우 뒤를 빌려주거나 빌려주지 않는 식으로 생각하였습니다. 구현방법은 아래와 같습니다. 전체 학생 배열을 1로 초기화 여분의 옷이 있는 학생은 2로 변경 옷을 잃은 학생이 있다면 여분의 옷이 있는 경우 1 없는 경우 0로 변.. 프로그래머스_최소직사각형(JAVA) https://school.programmers.co.kr/learn/courses/30/lessons/86491 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 해당 문제의 아이디어는 가로와 세로중 큰 길이를 한쪽으로 몰아주는 것에 있습니다. 지갑의 길이들을 확인하며 가로와 세로 중 긴 변을 가로 또는 세로에 모두 몰아주고 그 중 가장 큰 세로와 가로값을 찾아 곱해준 값을 구하는 방법으로 구현하였습니다. [JAVA] class Solution { public int solution(int[][] sizes) { int answer = 0; .. 프로그래머스_같은 숫자는 싫어(JAVA) https://school.programmers.co.kr/learn/courses/30/lessons/12906 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 단순 배열을 순회하며 앞의 숫자의 값을 비교하는 식으로 구현을 하였습니다. ArrayList를 이용하여 구현을 하였고, 배열의 1번째 인덱스부터 순회하며 앞의 숫자와 다른 경우 값을 더해주는 식으로 구현을 하였습니다. [코드] import java.util.*; class Solution { public int[] solution(int[] arr) { ArrayList answer.. 프로그래머스_포켓몬(JAVA) https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] SET을 이용하여 문제를 풀었습니다. 이 문제는 주어진 포켓몬을 N/2마리 가져 갈 수 있을 때, 가지고 갈 수 있는 최대 종류의 수를 구하는 문제입니다. SET을 이용하여 포켓몬의 종류의 수를 구하여 포켓몬의 종류가 가져갈 수 있는 수(N / 2)보다 작으면 SET의 사이즈를 아니면 N / 2를 반환하면 됩니다. [코드] import java.util.HashSet; import j.. 이전 1 2 3 4 5 다음