[BJ] 17413. 단어 뒤집기2 www.acmicpc.net/problem/17413 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net 1. StringBuilder의 메소드 이용 - charAt(idx), substring(start, end), reverse(), replace(start, end, newStr) import java.io.*; import java.util.*; // 210226 // https://www.acmicpc.net/problem/17413 pu..
1244. 스위치 켜고 끄기 www.acmicpc.net/problem/1244 1244번: 스위치 켜고 끄기 첫째 줄에는 스위치 개수가 주어진다. 스위치 개수는 100 이하인 양의 정수이다. 둘째 줄에는 각 스위치의 상태가 주어진다. 켜져 있으면 1, 꺼져있으면 0이라고 표시하고 사이에 빈칸이 하나씩 www.acmicpc.net import java.io.*; import java.util.*; public class Main_BJ_1244_스위치켜고끄기 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int SN = sc.nextInt(); int[] arr = new int[SN+1]; for(int i=..
[BJ] 10158. 개미 www.acmicpc.net/problem/10158 10158번: 개미 가로 길이가 w이고 세로 길이가 h인 2차원 격자 공간이 있다. 이 격자는 아래 그림처럼 왼쪽 아래가 (0,0)이고 오른쪽 위가 (w,h)이다. 이 공간 안의 좌표 (p,q)에 개미 한 마리가 놓여있다. 개미는 오 www.acmicpc.net 1. 반복문을 돌리며 한칸씩 개미를 움직이면 시간 초과가 난다. 반복되는 구간을 모듈러 연산으로 제거한 후 나머지 시간 동안만 움직이면 된다. 2. 실제 자바 2차원 배열의 인덱스를 움직이며 값을 계산하는게 아니기 때문에. 수학 좌표 위 x, y축의 값을 움직인다. 따라서 45도 방향으로 가는 개비의 y값을 -1하지 않고 +1 해야 한다. import java.io...
[BJ] 13300번: 방 배정 www.acmicpc.net/problem/13300 13300번: 방 배정 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 수학여행에 참가하는 학생 수를 나타내는 정수 N(1 ≤ N ≤ 1,000)과 한 방에 배정할 수 있는 최대 인원 수 K(1 < K ≤ 1,000)가 공백으로 분리되어 www.acmicpc.net 자꾸 틀려서 생각해보니 1. 현재 방 인원이 K를 넘는다면 새로 방을 배정하고 (++cnt), 방 인원 수를 reset 해야 한다. 2. 이때 방에 넣은 후, K를 넘는다면 새로 배정하는 것이기 때문에 방 인원 수를 0이 아닌 1로 reset하여야 한다. // 210222 import java.io.*; import java.util.*; public ..
2108. 통계학 www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net import java.io.*; import java.util.*; // 210212 public class Main_BJ_2108_통계학 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[] arr = new int[N]; HashMap cntHash = new HashMap(); int ..
1012. 유기농 배추 www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net import java.io.*; import java.util.*; // 210212 public class Main_BJ_1012_유기농배추 { static int M, N, K; static int[][] map; static boolean[][] visited; static int cnt; static int[] dr = {-1, 0, 1, 0}; static int[] dc = {0, -1, ..
2178. 미로 탐색 www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net import java.io.*; import java.util.*; // 210213 public class Main_BJ_2178_미로탐색 { static int N, M; static int[][] map; static int[][] dist; static boolean[][] visited; static Queue q; static int[] dr = {-1, 0, 1, 0}; static int[] dc = {0,..
1697. 숨바꼭질 www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 1. 수빈이와 동생의 위치가 같다면 0초가 걸리게 된다. 2. 수빈이는 동생의 위치보다 더 멀리 갈 수 있다. dist 배열의 크기를 동생의 위치로 잡아서는 안된다. import java.io.*; import java.util.*; // 210213 public class Main_BJ_1697_숨바꼭질 { static int N, K; static int[] d..