목록Algorithm/SWEA (17)
Development Palette

SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 풀이 경우의 수 식 구하기 지문 개수 : 사용되는 문자 종류의 수인 M, 비밀번호의 수 : N 찍힌 지문은 비밀번호에 전부 사용해야한다. 그렇기 때문에 중복순열 M^N (M가지수를 N개 뽑는 경우의 수)에서 전부 다 사용 하지 않는 경우는 빼줘야한다. 예를 들어 M=3, N=4일 때 찍힌 지문을 전부 사용하는 경우 (3^4)에서 두가지를 사용하는 경우를 먼저 뺀다고 생각했을 때 3C2 * 2^4인데 이 식은 한가지만 사용하는 경우도 포함 되어 있다. 다시 말하자면 전부 사용하는 경우 (3^4)에서 2가지만 사용하는 경우 (3C2 * 2^4)를 빼는데,,, 이..

SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 0/1 Knapsack 문제를 그대로 적용할 수 있는 조합 문제! 저번에 그냥 조합으로 풀었을 때 1개의 케이스만 맞고 실패했었는데 드디어 풀었다,, package com.DP.s5215_햄버거다이어트; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; // 0/1Knapsack 으로 풀 수 있는 문제 //민기의 햄버거 재료에 대한 점수와 가게에서 제공하는 재료에 대한 칼로리가 주어졌을 때..

이전에 사용한 union-find 코드와 완전 동일 여기서는 그룹의 개수가 몇개인지가 핵심 구현 부분이였다. 즉, 대표자의 개수를 알아내는것 ! package com.swea.w0824.n7465_창용마을무리의개수; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashSet; import java.util.Set; import java.util.StringTokenizer; public class Solution { static int N; static int [] parents; static void make() { for(int i=1; i

0 a b의 형태로 입력 --> a가 포함되어 있는 집합과, b가 포함되어 있는 집합을 합친다는 의미 두 원소가 같은 집합에 포함되어 있는지를 확인하는 연산은 1 a b의 형태로 입력 a와 b는 n 이하의 자연수이며 같을 수도 있다. 1로 시작하는 입력에 대해서 같은 집합에 속해있다면 1을, 아니면 0을 순서대로 한줄에 연속하여 출력한다. package com.swea.w0824.n3289_서로소; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.ut..

package com.swea.w0820.n1223_계산기2; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; //1. 스택을 이용해 후위표기식으로 변환 //2. 스택을 이용해 후위표기식 연산 public class Solution { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); final int T = 10; f..

package com.ssafyalgo.w0812.n6808_규영이와인영이의카드게임; // 비트마스킹..1 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.ArrayList; import java.util.StringTokenizer; public class Solution { static final int Pick = 9;// 인영이가 카드를 내는 경우의 수 : 9! static in..

package com.swea.w0809.n9229_한빈이와SpotMart; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.StringTokenizer; //한빈이가 들고 갈 수 있는 과자 봉지(2개)의 무게 합 최대를 출력하라. --> 조합 //만약 한빈이가 두 과자를 들고 갈 방법이 없는 경우에는 -1을출력한다. public class Solution { static int max..

두개의 Queue 를 사용해 저장해두고 번갈아가며 선입선출로 빼주면 방식 카드의 총 갯수가 홀수면 q1에서 한번더 카드를 뽑음 package com.ssafy.algo.w0806.n3499_퍼펙트셔플; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.LinkedList; import java.util.Queue; import java.util.Stack; import java.util...