본문 바로가기

삼성 SW Expert Academy57

[Java] SWEA 3143번 가장 빠른 문자열 타이핑 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 정규표현식을 이용해 A에서 B에 해당하는 문자를 "c"라는 한글자로 바꾸었고 바뀐 A의 길이를 출력하여 해결했습니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Solution { public static String A, B; public static void main(String[] args) throws IOException { Buffered.. 2021. 4. 12.
[Java] SWEA 5643번 키 순서 swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXQsLWKd5cDFAUo SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 BFS, DFS를 이용해서 그 점에서 다른 점으로 가는 횟수와 다른 점에서 그 점으로 들어오는 개수를 합하여 나온 총 횟수가 점의 개수인 N과 같다면 자신의 키가 몇 번째인지 확실하게 알 수 있으므로 이를 이용하여 해결했습니다. 코드 1. BFS import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader.. 2021. 4. 6.
[Java] SWEA 2819번 격자판의 숫자 이어 붙이기 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 DFS를 이용해서 완전탐색을 하고 문제에서 주어진 조건대로 길이가 7인 문자열만 Set에 넣어 중복을 없에 총 개수를 구해 해결했습니다. 코드 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 { public static int[][] board = new in.. 2021. 4. 5.
[Java] SWEA 4672번 수진이의 팰린드롬 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 문제 예시에서 세 번째 테스트 케이스를 abccba로 바꾸면 팰린드롬인 부분 문자열의 개수가 최대인데 이때의 부분 문자열 중 팰린드롬인 것은 a, a, b, b, c, c, aa, bb, cc이고 이는 aabbcc인 문자열의 연속한 부분을 뽑아 만든 부분 문자열이 됩니다. 이를 이용해서 입력받은 문자열을 사전 순으로 정렬하기 위해 한 글자씩 잘라 배열을 만들고 배열을 정렬한 후 다시 문자열로 합쳐주었습니다. 그다음으로 부분집합을 만들어 연속된 일부분을 뽑아 만든 부분 문자열을 만들고 그 부분 문자열이 팰린드롬이라면 팰린드롬의 개수를 증가시켜 해결했습니다. 코.. 2021. 3. 30.
[Java] SWEA 8659번 GCD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 DP를 사용해서 해결했습니다. 문제에서 A가 가장 작으며 그런 조합이 여러 가지인 경우 B가 가장 작은 조합을 선택하면 된다는 조건이 있고 GCD(a, b)일 때,테스트 케이스에서 주어진 K = 1부터 해보면 K = 1 GCD(2, 1) = GCD(1, 2 % 1) = GCD(1, 0) = 1 K = 2 GCD(3, 2) = GCD(2, 3 % 2) = GCD(2, 1) = (K = 1)인 경우가 반복 K = 3 GCD(5, 3) = GCD(3, 5 % 3) = GCD(3, 2) = (K = 2)인 경우가 반복 ... K = n GCD((n - 1의 a) +.. 2021. 3. 29.
[Java] SWEA 3289번 서로소 집합 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 크루스칼 알고리즘을 사용하여 해결했습니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Solution { public static int N, M; public static int[] parents; public static void main(String[] args) throws IOException { BufferedReader br = new .. 2021. 3. 23.