Seize your moment! 👾

안녕하세요. Eric입니다. 제 블로그에 방문해주셔서 감사합니다.

코딩테스트 16

[Eric's 백준] 3046번 - R2 - Python

안녕하세요! Eric 입니다. 오늘부터는 python으로 공부를 다시 시작했답니다. 오늘 풀어볼 문제는 백준 3046번 R2입니다. [해설] 우선 input 을 2개 받고, 평균값을 두배로 하고, 첫번째 값을 빼게되면 해결되는 간단한 문제입니다. a, b = input().split() print(int(b)*2-int(a)) 오늘의 리뷰는 여기까지! 다음에는 더 어려운 문제로 올게용! ㅎㅎ

[Eric's 백준] 2667번 - 단지번호 붙이기 - Java 🍯

문제 안녕하세요! Eric 입니다 오늘 풀어볼 문제는 백준 2667번 단지번호 붙이기 입니다 이번 문제는 dfs로 풀어보도록 하죠. 풀이 우선 단지가 몇개인지 구해야하고, 각각의 단지당, 몇개의 가구로 구성되어 있는지 구해야합니다. 이번에도 저는 boolean[] graph 값으로 받아서 단지가 있는 1 로 표시되어 있는 부분은 true 값으로 graph를 그립니다. 그리고 graph 에서 true값을 만마면 상하좌우를 dfs를 돌면서 각각의 단지의 개수를 찾음과 동시에, 해당 graph 위치를 false로 변환시켜줍니다. 그리고 각각의 단지 개수를 count 해줄 ArrayList를 이용해서 해당값을 저장하고 이를 오름차순으로 정렬 후 출력해줍니다. 그러면 코드를 보시죠. 코드

[Eric's 백준] 1012번 - 유기농배추 🥬 - Java

문제 안녕하세요! Eric 입니다! 오늘 풀어볼 문제는 백준 1012번 , 유기농 배추 입니다! 그러면 문제를 풀어보도록 하죠! 풀이 우선 유기농배추를 만들기위해서 배추흰지렁이 를 깔아야합니다. 깔기위해서는 배추가 있는 위치에 깔아야며, 그 지렁이가 상하좌우 로 움직이면서 배추를 보호한다 이를 저는 dfs를 통해서 구연해 보았습니다. 우선 주어진 test case를 int로 받고, 그때의 주어진 배추밭의 길이 m과 n을 받아서 이를 통해서 boolean[] graph를 만듭니다. 이는 배추가 있는 위치에 true값을 주며, 배추가 없는 위치에는 false로 만들어줍니다. 그리고 동일한 사이지의 boolean[] visited 배열을 만들고 dfs가 돌면서 해당 지점을 방문하면 true로 값을 변환해줍니다..

[Eric's 백준] 13900번 - 순서쌍의 곱의합 - Java

안녕하세요! Eric 입니다! 오늘 풀어볼 문제는 백준 13900번 순서쌍의 곱의합 입니다! 우선 제가 처음에 시간 초과로 틀렸던 방법의 코드를 보고 왜 시간초과가 났는지 알아보고 맞는 방법이 무엇인가 알아보도록 하죠! 시간초과 코드 (정답 아님) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class N13900 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputSt..

[Eric's 백준] 1759번 - 암호 만들기 - JAVA

안녕하세요! 오늘 풀어볼 문제는 백준 1759번 암호만들기 문제 입니다! 해당 문제는 백트레킹을 이용해서 문제를 풀 수 있습니다! 풀이 우선 암호로 만들 수 있는 알파벳을 char[] list 에 넣습니다. 그리고 char[] list 를 알파벳 순으로 정렬합니다. 정렬하는 이유는 문제의 출력 부분에서 정렬된 순서로 출력되라고 해서입니다. 그리고 정렬된 알파벳을 backTracking 메소드를 통해서 메소드를 실행합니다. 실행하면서 start 가 L과 동일해지면, checkTheCode 이라는 메소드를 통해서 한개의 모음과 두개 이상의 자음이 포함되어있는지 체크하고나서 출력해줍니다. 만약 start 가 L과 동일하지 않는다면 for문을 돌면서 하나 하나씩 list에 있는 알파벳을 char[] code 에..

[Eric's 백준] 2583번 - 영역 구하기 - Java

안뇽하세요! Eric 입니다! 오늘은 제가 bfs 문제를 하나 풀어보려 합니다! 문제는 백준 2583번 영역구하기 문제 입니다! 문제 해설 우선문제를 풀기위해서는 map 이라는 int[][] 배열을 만들어 줍니다. 이때의 int[][] map = new intp[M][N] 의 크기를 가집니다. 왜냐하면 해당 모눈종이가 입력의 첫번째 줄에서 그렇게 주어지므로 그리고 입력의 첫번째 줄에서 마지막으로 받는 K값은 for 문을 통해서 K번 돌아서 입력에서 주어진 값을 map 에 표시합니다. 그리고 bfs 를 돌면서 해당 하는 영역의 면적을 구합니다. bfs 를 돌면서 dx, dy를 통해서 시작점을 기준으로 상,하,좌,우 의 map 값이 0 이면 해당영역으로 이동하면서 영역의 크기를 증가시키고, 만약 map값이 ..

[Eric's 백준] 2217번 - 로프 - Java

안녕하세요! Eric 입니다! 오늘 풀어볼 문제는 백준 2217번 로프 문제 입니다. 그리디 유형입니다(욕심쟁이) 문제 문제풀이입니다. 제가 생각한 문제 풀이 방법은 하단의 사진 처럼 우선 내림차순으로 숫자를 정렬 한 후 하단의 배열에서 하나씩 추가하면서 어떤 값이 최대 값이 되는지 구해보았습니다. 예를들어 10 하나만 선택하게 되면 최대무게는 max = 10 이고, 10, 9 를 선택하면 9 x 2 의 무게를 들 수 있으므로 18 이므로 기존의 max= 10 값 보다는 크니까 max를 18로 교환 하고 이런 식으로 하나씩 추가하면서 최대 무게가 될때까지 for문을 돌았습니다. 코드

[Eric's 백준] 11727번 - 2 x n 타일링 2 - Java

안녕하세요! Eric 입니다! 오늘 풀어볼 문제는 백준 11727번 2 x n 타일링2 라는 문제입니다! 어제 풀었던 https://just09.tistory.com/338 [Eric's 백준] 11726번 - 2 x n 타일링 - Java 풀이방법 저는 어느때와 같이 그림을 그려서 문제를 풀어보았습니다. (연필로 그림 그릴때 소리가 너무 좋아요) 하단의 그림을 보면 알 수 있듯 n = 3 부터는 피보나치수열을 따르는 사실을 그림 just09.tistory.com 이 문제와 도 문제 내용이 흡사하지만, 11726번 문제랑은 다른점은 구현하는 규칙 부분이 다르더라구요! 저는 오늘도 문제를 그림을 그려가며 풀어 보았습니다! 위의 그림을 보면 알 수 있듯 하나의 규칙성이 보입니다. f(n) 의 값을 구한다고 ..

[Eric's 백준] 9095번 - 1,2,3 더하기 - Java

오늘 풀어볼 문제는 1,2,3 더하기 입니다 해당 문제는 DP 로 풀수 있습니다! 제가 하단처럼 문제를 풀은 이유는 n = 1 인경우는 -> 1가지 1 n = 2 인 경우는 -> 2가지 1 + 1 2 n = 3 인 경우 -> 4가지 1 + 1 + 1 1 + 2 2+ 1 3 이제 n = 4 일 경우는 n이 3일때 값 1 + 1 + 1 + 1 1 + 2 + 1 2 + 1 + 1 3 + 1 n이 2일대 의 값 1 + 1 + 2 2 + 1 n이 1일때의 값 1 + 3 위처럼 n =4 일경우( n = 3 )+ (n = 2) + (n =1 ) 값을 더해주면 나오는 DP 를 이용하면 arr[n] = arr[n-1] + arr[n-2] +arr[n-3] 의 식을 도출해 낼 수 있습니다! 하지만 n =1, n=2 , n..