목록해답 (90)
삐까냥의 파도타기
문제 출처 : https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5LuHfqDz8DFAXc&categoryId=AV5LuHfqDz8DFAXc&categoryType=CODE 동철이가 싼 똥처리 하느라 힘들었네요.똥철아 너가 싼 똥은 너가 치워야지......똥철아 그러지마..... 문제 들어가면 리플에 DFS로 시간 초과나니 DP로 해야할것 같다는 리플이 달려있습니다.아주아주 큰 함정이네요. DFS로 안풀고 다른 걸로 풀다가 답이 안나오길래DFS에서 조건 하나 거니깐 답이 제대로 나옵니다. (다시 보니 스캐너를 넘기는게 참 이상하네요. 걍 solution 메소드를 사용하지 마세요) (5분 후 컴퓨터를 뜯어서 ..
문제 출처 : https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWHPiSYKAD0DFAUn 난이도는 D3입니다. 근데 문제 자체는 넘나 쉽죠. 그래서 다들 %, / 연산을 통해 구현했을텐데, 정답에는 Fail하셨을 거에요. (저 포함) 메모리 문제로 실패하더라구요. 그래서 아주 간단하게, String 방식으로 구현했습니다. 2018년 3월 12일 import java.util.Scanner; public class Q3750 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int testCase = sc.nextInt(..
문제 출처 : https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5LyE7KD2ADFAXc& 오랜만에 푸는 문제라 구현하는것에 집중했습니다. 몸풀기로 D3 문제. 2018년 3월 11일 코드 import java.util.Scanner;public class Q1873 { public static void main(String[] args) {Scanner sc = new Scanner(System.in);int num = sc.nextInt();for (int i = 0; i < num; i++) {int y = sc.nextInt();int x = sc.nextInt();char[][] map = new..
문제 출처 : https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5LsaaqDzYDFAXc&categoryId=AV5LsaaqDzYDFAXc&categoryType=CODE 이 문제가 D3(어려움)인데, 정답률이 왜 40%인지 모르겠네요. (다른 D3문제의 정답률 40% 이하인 문제보다 훨씬 쉬운 느낌이에요.) 고객은 붕어빵 하나씩만 구매할 수 있네요. package sw; import java.util.Collections;import java.util.LinkedList;import java.util.Scanner; public class Q1860 { static int N, M, K;static Li..
문제 출처 : https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15Khn6AN0CFAYD&categoryId=AV15Khn6AN0CFAYD&categoryType=CODE DFS 방식으로 구현했고, check 배열을 사용하여 같은 횟수이면서 같은 숫자를 탐색했는지 체크했습니다. 따라서 불필요한 탐색을 수행하지 않게되죠. 문제를 보니 DFS or BFS를 사용해야 할 것 같아, 백준사이트에서 DFS or BFS 문제를 조금 풀고왔는데 도움되네요. package sw; import java.util.Scanner; public class Q1244 { static int result, maxCount;stat..
문제 출처 : https://www.acmicpc.net/problem/11403 DFS 입니다. dsf에 익숙치 않아 아직은 어버버 거리네요. import java.util.Scanner; public class Q11403 { static int[][] a;static int num;public static void main(String[] args) {Scanner sc = new Scanner(System.in);num = sc.nextInt();a = new int[num][num];for ( int i = 0; i < num; i++ ) {for ( int j = 0; j < num; j++ ) {a[i][j] = sc.nextInt();}}for ( int y = 0; y < num; y++..
문제 출처 : https://www.acmicpc.net/problem/1697 BFS입니다. DFS로는 답이 안나오네요. import java.util.LinkedList;import java.util.Queue;import java.util.Scanner; public class Q1697_2 { public static void main(String[] args) {Scanner sc = new Scanner(System.in);int start = sc.nextInt();int goal = sc.nextInt();if ( start >= goal ) {//도착 장소가 더 작으면 빼기밖에 못하니 바로 계산System.out.println(start-goal);return;}int max = goal..
문제 출처 : https://www.acmicpc.net/problem/1260 기본 깊이우선 탐색 구현과 너비우선 탐색 구현입니다. 처음 구현하면서 학습한 블로그 주소 남깁니다. -> http://mygumi.tistory.com/102 import java.util.LinkedList;import java.util.Queue;import java.util.Scanner; public class Q1260 { public static void main(String[] args) {Scanner sc = new Scanner(System.in);int N = sc.nextInt();int M = sc.nextInt();int V = sc.nextInt();int[][] A = new int[N][N];f..
문제 출처 : https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV2b9AkKACkBBASw&categoryId=AV2b9AkKACkBBASw&categoryType=CODE 음... 오버플로우 대응 문제 였습니다.시간을 줄이기 위해서는 몇가지 생각을 하면 됩니다.문제에 나오는 식을 한번 보죠.A * | R - C | + B * { N - ( R * C ) }식을 두개로 나누어서 생각해볼게요.아래 표처럼 두개로 나누면 두개의 식 모두 양수밖에 나오지 못하는걸 알 수 있습니다.따라서 두개의 식의 최소값을 구해야 합니다. A * | R - C | >= 0 (첫번째 식) B * { N - ( R * C ) } >=..
문제 출처 : https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV134DPqAA8CFAYh&categoryId=AV134DPqAA8CFAYh&categoryType=CODE import java.util.Scanner; public class Solution{ public static void main(String[] args) {for ( int k = 1; k < 11; k++ ) {Scanner sc = new Scanner(System.in);int num = sc.nextInt();int[] buildings = new int[num];for ( int i = 0; i < num; i++ ) {bu..