본문 바로가기

분류 전체보기

(100)
[백준] 문자열 지옥에 빠진 호석 20166 [JAVA] | Link www.acmicpc.net/problem/20166 20166번: 문자열 지옥에 빠진 호석 K개의 줄에 걸쳐서, 신이 좋아하는 문자열을 만들 수 있는 경우의 수를 순서대로 출력한다. www.acmicpc.net | 풀이 DP를 처음 적용해본 문제이다. ㅎㅎ c->a->b의 개수를 구할 때, 색칠한 a로 부터 갈 수 있는 b의 길은 2가지로 정해져있다. 따라서, a에서 또 dfs 를 통해 탐색할 필요가 없다는 것을 깨달았다. ==> a로부터의 가짓수가 많아지면 낭비 심해짐 그러므로 DP를 적용하기로 생각했다. 어떻게 적용할 수 있을까? 문자열의 끝부분 부터 탐색하며, 문자열의 첫 부분에는 해당 값들을 모두 더해주면 된다. DP를 3차원 배열로 만들어서 신이 좋아하는 문자열의 맨 끝부분 부터 ..
[백준] 인내의 도미노 장인 호석 20165 [ JAVA ] | Link www.acmicpc.net/problem/20165 20165번: 인내의 도미노 장인 호석 사람을 화나게 하는 법은 다양하다. 그 중에서도 악질은 바로 열심히 세워놓은 도미노를 넘어뜨리는 것이다. 이번에 출시된 보드 게임인 "너 죽고 나 살자 게임"은 바로 이 점을 이용해서 2명이 www.acmicpc.net | 풀이 시뮬레이션 문제인 것 같다. 그냥 하라는 대로 했다. | 어려웠던 점 1. 세워져 있는 경우와 누워져 있는 경우를 나누지 못했다. 2. 해결 | 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; ..
[삼성 SW Expert Academy] 점심 식사시간 2383 [Java] | Problem ※ SW Expert Academy는 문제의 무단 복제를 금지하고 있기 때문에, 기재하지 못한 점 양해 부탁드립니다. | Link ※ 하단의 Link를 클릭해도, 로그인 후 열람이 가능합니다. swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5-BEE6AK0DFAVl&categoryId=AV5-BEE6AK0DFAVl&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com | 풀이 최대 10명의 사람이 최대 2 종류의 계단으로 이동할 경우, 최소 시간을 출력해야 한다. 따라서, 10명의 사람이..
[삼성 SW Expert Academy] 8275. 햄스터 [JAVA] | Problem ※ SW Expert Academy는 문제의 무단 복제를 금지하고 있기 때문에, 기재하지 못한 점 양해 부탁드립니다. | Link ※ 하단의 Link를 클릭해도, 로그인 후 열람이 가능합니다. swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWxQ310aOlQDFAWL | 풀이 Step : 까다로운 조건을 보고, 완탐을 해야겠다고 느꼈다. Step : 시간복잡도 체크 했다. 4. 따라서, 0번 우리부터 쭉 들어가면서 중복순열 ? / DFS 방식 5. 각 조건 체크하고 6. 총 햄스터 수가 가장 큰 거 위주로 정렬하고 ( MAX ) 7. 가장 큰 햄스터의 수가 같을 경우, 오름차순 정렬 된 것을 답으로 한다. |..
[삼성 SW Expert Academy] [모의 SW 역량테스트] 보호 필름 [Java] | Problem ※ SW Expert Academy는 문제의 무단 복제를 금지하고 있기 때문에, 기재하지 못한 점 양해 부탁드립니다. | Link ※ 하단의 Link를 클릭해도, 로그인 후 열람이 가능합니다. swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5V1SYKAaUDFAWu SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com | 풀이 Step : 최소 약품 사용 개수 구하기 위해서는 어차피 완탐을 해야한다. - DFS Step : 맨 위 행을 기준으로 내려가면서 1) 아무것도 바꾸지 않는다. 2) A로 변경하기 3) B로 변경..
[삼성 SW Expert Academy] 2814. 최장 경로 [JAVA] | Problem ※ SW Expert Academy는 문제의 무단 복제를 금지하고 있기 때문에, 기재하지 못한 점 양해 부탁드립니다. | Link ※ 하단의 Link를 클릭해도, 로그인 후 열람이 가능합니다. swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV7GOPPaAeMDFAXB SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com | 풀이 1. 최대 N 개의 정점이다. ArrayList로 부터 연결된 각 노드에서 최대 N개의 경로로 들어가도록 하자. ( DFS ) 2. ex) 시작 점을 0부터 시작해서 연결된 노드로 쭉 들어가며 깊..
[프로그래머스] 섬 연결하기 level-3 [JAVA] 출처 : programmers.co.kr/learn/courses/30/lessons/42861 코딩테스트 연습 - 섬 연결하기 4 [[0,1,1],[0,2,2],[1,2,5],[1,3,1],[2,3,8]] 4 programmers.co.kr 풀이 1. 크루스칼 알고리즘 2. 우선순위 큐 사용 코드 import java.util.*; class Solution { public static class Island implements Comparable{ int from ; int to; int weight; public Island(int from, int to, int weight){ this.from = from; this.to = to; this.weight = weight; } public int ..
[프로그래머스] 단어 변환 level3 [JAVA] 출처 : hj-bank.tistory.com/manage/newpost/?type=post&returnURL=%2Fmanage%2Fposts%2F TISTORY 나를 표현하는 블로그를 만들어보세요. www.tistory.com 풀이 1. dfs 사용 ( words의 길이가 최개 50이므로 O(n^2) = 2500 이므로 ㄱㅊ 2. begin 으로부터 words를 모두 참조하며 한 알파벳 변경으로 가능한지 체크 3. 가능한 곳을 모두 들어가보며 바뀐 문자열이 target과 같은지 체크하자. 4. 모두 검사했는데 아니라면 visited= false 통해서 완전 탐색 실시 5. 그 중 count값이 가장 작은거 출력 코드 import java.util.*; class Solution { static boole..