코딩테스트-알고리즘/백준 BOJ 39

[백준 BOJ/Silver II] 1012번 : 유기농 배추

https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net import java.util.Scanner; public class Main { // 상하좌우 static int dx[] = {-1, 1, 0, 0}; // i 움직임 static int dy[] = {0, 0, -1, 1}; // j 움직임 static int[][] land; // 전체 땅 static boolean[][] check; // 지나갔는지 체크 static int count; // 답 카운..

[백준 BOJ/Silver I] 2667번 : 단지번호붙이기

https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net import java.util.*; public class Main { static int N; static int[][] map; static boolean[][] visited; static int[] dx = {0, 0, -1, 1}; // x좌표 상하좌우 static int[] dy = {-1, 1, 0, 0}; // y좌표 상하좌우 static int complex = 0; // 단지 수 ..

[백준 BOJ/Silver V] 11651번 : 좌표 정렬하기 2

https://www.acmicpc.net/problem/11651 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[][] num = new int[N][2]; for(int i = 0; i < N; ..

[백준 BOJ/Silver V] 11650번 : 좌표 정렬하기

https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net import java.util.Arrays; import java.util.Comparator; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.next..

[백준 BOJ/Silver V] 1181번 : 단어 정렬

https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); Map map = new HashMap(); for(int i=0; i

[백준 BOJ/Bronze I] 1157번 : 단어 공부

https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net import java.util.*; public class Main { public static void main(String[] args) { String answer = ""; Scanner sc = new Scanner(System.in); String word = sc.next(); word = word.toUpperCase(); // 대소문자 구분안하니까 전부 대문자로 Map map = new HashMap(); for(..

[백준 BOJ/Silver IV] 11652번 : 카드

https://www.acmicpc.net/problem/11652 11652번: 카드 준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지 www.acmicpc.net import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws Exception { Long answer = 0L; Scanner sc = new Scanner(System.in); int N = sc.nextInt(); Map map = new HashMap(); fo..

[백준 BOJ/Silver I] 금민수의 개수

https://www.acmicpc.net/problem/1527 1527번: 금민수의 개수 첫째 줄에 A와 B가 주어진다. A는 1보다 크거나 같고, 1,000,000,000보다 작거나 같은 자연수이다. B는 A보다 크거나 같고, 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net import java.util.Scanner; public class Main { public static void main(String[] args) { int count = 0; Scanner sc = new Scanner(System.in); int A = sc.nextInt(); int B = sc.nextInt(); for(int i = A; i 0) { if (n % 10 == 4 |..

[백준 BOJ/Silver II] 퍼거슨과 사과

https://www.acmicpc.net/problem/2942 2942번: 퍼거슨과 사과 맨체스터 유나이티드의 감독 퍼거슨은 빨간 사과를 R개, 초록 사과를 G개 가지고 있다. 훈련장에 있는 선수들 중 몇 명에게 나누어 주려고 한다. 단, 선수들이 서로 같은 개수의 사과를 받지 못하 www.acmicpc.net import java.util.*; class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int r = sc.nextInt(); int g = sc.nextInt(); int n = r < g ? r : g; ArrayList list = new ArrayList(); for(int i..