Seize your moment! 👾

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

백준 30

[Eric's 백준] 2606번 - 바이러스 - Java

안녕하세요! Eric 입니다 오늘 풀어볼 문제는 백준 2606번 바이러스 입니다. 해당문제는 dfs 로 풀었습니다. 문제를 풀면서 저는 그림을 하단과 같이 그려가며 풀어보았습니다. 코드 제가 결과값에서 answer 부분에서 -1 을 한 이유는 1번 컴퓨터는 이미 감염된 컴퓨터 이므로 -1 을 제거해주어야 합니다. boolean[] visited 값이 true 인 결과의 개수를 세어주어 풀어도 상관은 없습니다.

[Eric's 백준] 1260번 - DFS 와 BFS - Java

안녕하세요! Eric 입니다 오늘은 그래프 순회 문제를 풀어보도록 하겠습니다. dfs 랑 bfs 를 주어진 예시를 바탕으로 저는 직접 그려서 문제를 풀어 보았습니다. 하단의 두 사진 중 각각좌측 부분의 그림이 dfs 방식이며, 하단의 두 사진 중 각각 우측 부분이 Queue를 이용한 bfs 방식입니다. 코드구현 코드를 구현해보았습니다.

[Eric's 백준] 1269번 - 대칭 차집합 - Java

안녕하세요! Eric 입니다! 오늘 풀어볼 문제는 백준 1269 번 대칭 차집합 이라는 문제입니다. 저는 해당 문제를 HashMap 하나만 사용 해서 풀어보았습니다. 우선 집합 A를 HashMap 에 넣었습니다. 그리고 집합 B와 비교하면서 중복되는 개수를 count 했습니다. (int intersection ) 그리고 정답으로는 집합 A의 원소 개수 + 집합 B의 원소의 개수 - 2 * 중복 원소 개수 를 하였습니다. 왜냐하면, 결국에 차집합의 개수는 하단의 사진처럼 적용 할 수 있기 때문입니다.

[Eric's 백준] 14425번 - 문자열 집합 - Java

오늘 풀어볼 문제는 집합과 맵이라는 백준 14425번 문제입니다. 저는 오늘부터 Scanner 대신에 Buffered ~ 를 사용 하도록 하겠습니다! 해당 문제에서 제가 풀었던 방식은 해쉬맵을 이용하였습니다. 주어진 문자를 우선 HashMap 에 n개 넣은 후 m 개의 문자를 Hashmap 의 containsKey 를 이용하여 count 하였습니다. 제가 푼 방식은 하단과 같습니다. key 값을 String 값으로 넣었으며, value 값은 그냥 의미 없는 0을 넣었습니다.

[Eric's 백준] 10809번 - 알파벳찾기 - Java

안녕하세요! Eric 입니다. 오늘은 아주 쉬운 문제를 풀어보도록 하겠습니다. 오늘의 문제는 알파벳 찾기 문제로써 java의 indexOf 를 이용해서 저는 문제를 풀어보았습니다. 저는 입력되는 값의 string 값에 indexOf 를 이용해서 풀었습니다. 해당 알파벳이 있다면 그 문자의 위치가 나올것이고, 해당 알파벳이 없다면 자동으로 indexOf 의 값이 -1 이 나올것입니다. 그래서 저는 for문에서 i=0 부터 돌지만, ASCII code를 이용하기위해서 i +97 을하고 이를 char 타입으로 변환 하였습니다. 해당 문제는 모두 소문자 알파벳이 나오기로 하였으므로 ASCII 코드에 맞는 값이 나오면 indexOf 를 이용해서 바로 출력하도록 하였습니다. import java.util.Scann..

[Eric's 백준] 3273번 - 두 수의 합 - Java

투포인터 를 이용해서 문제를 풀어 보았습니다. import java.util.Arrays; import java.util.Scanner; public class N3273 { public static void main(String[] args) { N3273 T = new N3273(); Scanner kb = new Scanner(System.in); int n = kb.nextInt(); int[] arr = new int[n]; for (int i = 0; i < n; i++) { arr[i] = kb.nextInt(); } int x = kb.nextInt(); System.out.println(T.solution(n, arr, x)); } public int solution(int n, int[..

[Eric's 백준] 1712번 - 손익분기점 - Java

백준 1712번 문제 손익분기점 입니다. 제가 하단과 같이 푼 이유는 만약 b값이 c보다 크거나 같으면 아무리 물건을 팔아도 이득이 나지 않기에 바로 -1 을 리턴하였고, 나머지 값들은 b -c 로 price 값을 구해서 a를 price 로 나누고 +1 을 진행 하였습니다. 그 이유는 a에서 price 로 나누었을때의 몫이 판매했을때의 손익분기점의 딱 이전 값이여서 이 몫에 1을 더해서 구하였습니다. import java.util.Scanner; public class N1712 { public static void main(String[] args) { N1712 T = new N1712(); Scanner kb = new Scanner(System.in); int a = kb.nextInt(); in..

[Eric's 백준] 1806번 - 부분합 - Java

투포인터 를 이용해서 문제를 풀어 보았습니다. import java.util.Scanner; public class N1806 { public static void main(String[] args) { N1806 T = new N1806(); Scanner kb = new Scanner(System.in); int n = kb.nextInt(); int s = kb.nextInt(); // 투포인터를 사용하기위해서 배열을 한칸 늘림 int[] arr = new int[n+1]; for (int i = 0; i < n; i++) { arr[i] = kb.nextInt(); } System.out.println(T.solution(n, s, arr)); } public int solution(int n, ..

[Eric's 백준] 27160번 - 할리갈리 - Java - 2023보드게임컵

2023 보드게임컵에서 나왔던 문제입니다. 저는 해쉬를 이용해서 문제를 풀어 보았습니다. import java.util.HashMap; import java.util.Scanner; public class Main { public static void main(String[] args) { Main T = new Main(); Scanner kb = new Scanner(System.in); int n = kb.nextInt(); HashMap map = new HashMap(); for (int i = 0; i < n; i++) { String a = kb.next(); int b = kb.nextInt(); map.put(a, map.getOrDefault(a,0)+b); } String answer..

[Eirc's 백준] 1764번 - 듣보잡 - Java 알고리즘

저는 해쉬를 이용해서 풀어보았습니다. import java.util.*; public class N1764 { public static void main(String[] args) { Scanner kb = new Scanner(System.in); int n = kb.nextInt(); int m = kb.nextInt(); String[] a = new String[n]; String[] b = new String[m]; for (int i = 0; i < n; i++) { a[i] = kb.next(); } for (int i = 0; i < m; i++) { b[i] = kb.next(); } for (String x : solution(a, b)) { System.out.println(x); }..