Seize your moment! 👾

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

자바 15

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

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

[Eric's 백준] 7569번 - 토마토 - Java 🍅🍅

문제 풀이 이번문제는 방금전에 풀었던 문제 토마토 7576번 문제에서 dis 부분만 수정을 하면됩니다. 저번에는 class Point 가 int x, int y 로 구성되었다면, 이번문제에서는 한층 더 추가하여 int x, int y, int z 로 구성하면 됩니다. 코드를 보시죠 코드 코드를 보시면 이전문제 와 하나의 차이점은 for문을 돌때 3중 for문을 돌아서 입력을 받고, 모든 경우의 수가 3중 for문을 통해서 해결 된다는 것입니다. 이외에는 기존 문제와 동일하게 문제를 해결하시면 됩니다.

[Eric's 백준] 9020번 - 골드바흐의 추측 - Java

문제 이번문제는 방금전 풀었던 문제 백준 골드바흐의 추측 6588번 해당문제랑 동일하지만, 출력부분에서는 조금 다릅니다. 출력부분에서 6588번은 최대의 차이가 나도록 출력하였다면, 9020번은 최소의 차이가 나도록 출력하고 있습니다. 해설 그래서 저는 출력부분에서 for문을 돌을때 시작을 n/2 부터 시작해서 돕니다. 그 이유는 어차피 값의 합은 n/2 보다 작은 값들로 구성될테니까요! 그렇게해서 문제를 풀게되면.. 코드 이상 오늘도 백준 풀은 Eric 이었습니다.

[Eric's 백준] 6588번 - 골드바흐의 추측 - Java

안녕하세요! Eric 입니다! 오늘 제가 풀어볼 문제는 골드바흐의 추측 백준 6558번 입니다. 이번 문제 역시 '소수'를 이용해서 문제를 풀어야하는데요, 이때 저는 소수를 구할때, 에라토스테네스의 체 를 이용해서 소수인지 판별을하고, 해당 내용을 이미 max값의 크기의 isPrime[] 배열에 넣은다음에 (미리 배열을 구해놓고 진행한 이유는, 만약 다른 수가 나올때마다 배열을 구해서 소수를 구하면 시간복잡도가 더 높아질거라고 생각해서 이렇게 진행하였습니다.) isPrime[]이라는 배열을 이용해서 이미 완성된 소수의 모임에서 다시 for문을 통해서 돌면서 우리가 원하는 골드바흐의 추측 내용이 나오는 값을 출력하면 끝이 납니다! 코드

[Eric's 백준] 1747번 - 소수&팰린드롬 - Java

문제 안녕하세요! 오늘 풀어볼 문제는 백준 1747번 소수&팰린드롬 문제입니다. 소수는 지난번에 풀었던 문제 백준 27465 번 에서 풀었던 method를 그대로 가져왔고, 여기에 팰린드롬 method 를 추가해서 문제를 간단하게 풀었습니다. 팰린드롬은 StringBuiler를 이용해서 풀었습니다. StringBuiler(str).reverse().toString()을 이용해서 구해진 값과 기존의 값과 비교하며 boolean 값으로 method 리턴 값으로 설정해서 문제를 풀어보았습니다. 그러면 코드를 보시죠! 코드 더 나은 코드를 알고 계시면 알려주세요!

[Eric's 백준] 10799번 - 쇠막대기 - Java

안녕핫에요! Eric 입니다! 오늘 풀어볼 백준은 10799번 쇠막대기 문제 입니다! 문제를 보자마자 딱 생각이 들었던건 괄호 는 'Stack' 이다 라는 생각이 들어서 저는 Stack 으로 풀었습니다. 풀이 일반적으로 괄호끼리 만나면 push and pop 으로 끝나는 것이 아니라, 이번 문제에서는 쇠막대기의 개수를 세야하는 문제입니다. 그러면 어떻게 해결해야할까요? 우선 기본적으로 '('를 만났을때 Stack에 push해주는건 동일하고, ')'를 만났을때 Stack에서 pop을 하고나서, 이때 해당 지점이 레이져의 끝 인지, 아니면 막대의 끝인지 고려해서 정답을 도출하면 됩니다. 그러면 코드를 보시죠. 코드 코드를 보시면, 만약 ')'를 만나서 하나의 '('을 이미 pop 했는데, 해당 stack 바..

[Eric's 백준] 27465번 - 소수가 아닌 수 - Java - KSA Automata Winter Contest

이번에 풀어볼 문제는 마찬가지로 KSA Automata Winter Contest 의 A번 문항으로 나왔던 문제 입니다. 이 문제는 그래도 생각보다 간단합니다 임의의 정수 N을 받고서 그 N값 '이상'의 임의의 소수가 아닌 수를 출력하면 되는 문제 입니다. 코드 저의 경우에는 isPrime() 이라는 method를 만들고나서, N이상부터 while문을 돌면서 소수가 아닌수가 나오면 while문을 멈추면서 출력을 하도록 코드를 구현해보았습니다. isPrime() method에서 Math.sqrt를 사용하였는데요, 이는 2부터 루트 n 까지의 범위에서 소수를 체크판별해주는 함수입니다. 범위가 2에서 루트n 까지 인 이유는 소수는 1과 자기 자신으로만 나누어지는 숫자이기 때문이죠!

[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) 의 값을 구한다고 ..