SWEA 10

SWEA_5607 조합(자바) / 페르마의 소정리

문제 링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제는 간단합니다.. N과 R이 주어지고 , 조합의 갯수 nCr을 구하는 문제입니다. 하지만, 이 문제는 페르마의 소정리에 대해서 알아야 문제를 풀 수 있습니다. package com.Expert; import java.io.BufferedReader; import java.io.InputStreamReader; public class Expert_5607 { static int MOD = 1234567891; public static void main(String[] args) throws Exception{ BufferedReader br = new..

SWEA_2115 벌꿀채취(자바) / 조합 + 부분 집합

문제 링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 벌꿀 채취 문제는 N의 정사각형 모양의 배열에서 가로 모양으로 벌꿀을 채취 합니다. 이때 두 사람이 채취를 진행하는데 한쪽이 채취를 하고 있으면 다른 한쪽은 채취한 곳을 채취하지 못합니다. package com.Expert; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Expert_2115 { static int N,M,C; static int[][]..

SWEA_8382 방향 전환(자바)

문제 링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com - 이 문제를 간단하게 이야기해보면, 두 좌표가 주어지고, 첫 좌표가 두번째 좌표까지 이동하는데 걸리는 이동횟수를 구하는 문제이다. - 단순히 이동만 하면 좋은데 이동하는 방법은 세로로 한칸 가로로 한칸 을 반복하며 이동을 해야 한다. - 이 문제에 대한 해결은 규칙을 찾아서 점화식을 이용해서 문제를 풀었습니다. package com.Expert; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.String..

SWEA_5644 무선충전(자바)

문제 링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com /* 1) 매시간마다 각 위치에서 * playerA : 가능한 BC리스트 (BC1,BC2) * playerB : 가능한 BC리스트 (BC2,BC3) * * 2) 매시간마다 각 위치에서 * 모든 BC리스트를 가지고 가능한 모든 경우 시도 * "중복 순열" * Player A -> 1 2 * Player B -> 1 2 * */ package com.Expert; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public cla..

SWEA_5656 벽돌깨기(자바)

문제 링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com package com.Expert; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; /* 중복 순열을 이용해서 떨어뜨릴 구슬을 선택해 준다. * i번째 구슬 떨어뜨림 * 1. 구슬이 떨어질수 있는 가장 윗행의 벽돌 찾기 * 2. 해당 벽돌을 깨뜨림 (주변 벽돌 연쇄적으로 깨뜨림) * 3. 터지고 난 빈 영역을 처리 * 4. 다음 구슬..

SWEA_4014 활주로 건설(자바)

문제 링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 이 문제의 경우 구현을 하는 문제입니다. 활주로의 경우 가로의 상황과 세로의 상황을 모두 고려해야 하는 문제입니다. 각각의 행과 열에서 가능하면 카운트를 해주면 됩니다. 아래의 코드는 행을 처리하는 함수와 열을 처리하는 함수를 따로 구현해서 해결했습니다. 아래의 코드처럼 해결하지 않고, 배열을 변형해서 하나의 함수로 처리를 해줄수 있습니다. package com.Expert; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; p..

SWEA_1251 하나로(자바) / 최소신장트리

문제 링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 이 문제는 각각의 섬들이 연결이 되어야 하는 문제입니다. N개의 섬들이 완전연결이 될 필요는 없지만, 다른 섬을 통해서 모든 섬에 갈 수 있어야 합니다. 이때 터널을 연결하는 비용은 각 좌표의 길이 값입니다. 길이의 값은 피타고라스의 정리를 이용해서 구할 수 있습니다. -> a^2 + b^2 = c^2 가격은 C^2를 내야 한다니까, 조금의 수고는 덜은거 같습니다. 이때의 최소 부담금을 구하는 문제입니다. 최소 신장 트리를 이용해서 문제풀이를 진행했습니다. 정점을 섬의 갯수, 간선을 해저터널로 볼 수 있습니다. 알고리즘은 정점을 중심으로 푸는 PRIM알..

SWEA_1249 보급로(자바) / BFS

문제 링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 이 문제는 BFS를 이용해서 풀이를 진행하였습니다. 이 문제는 0,0에서 시작하여 N-1, N-1 까지 최소의 시간으로 이동하는 문제입니다. 각각의 배열에는 걸리는 시간이 들어 있습니다. 위 그림과 같이 BFS를 탐색을 할 때, 최솟값에 대한 비교를 하면서 진행을 해야한다는 점이 다른 BFS의 문제와 차이가 있다. package com.Expert; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; import java.util.LinkedLi..

SWEA_4408 자기 방으로 돌아가기(자바)

문제 링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 400개의 방이 지그재그로 되어 있다. 테스트 케이스는 1번 라인은 테스트케이스의 수 , 2번라인 이동해야하는 학생의 수 3번 라인은 현재 방 들어갈 방의 값이 순서대로 학생수 만큼 나온다. 한번에 나올때, 겹처서 나오면 안된다. 필요한 최소 시간을 구해야 하는 문제이다. 이동하는데 걸리는 시간은 무조건 1로 가정한다. package com.Expert; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; import java.util.Strin..

SWEA_1208 Flatten(자바) / 문제해결 기본

문제 링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com package com.Expert; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Expert_1208 { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTok..