풀이 과정 String으로 주어진 문장을 받은 후 하나씩 잘라서 모음인지 아닌지 확인 후 list에 넣는다. 그리고 list의 값들을 다시 String으로 출력한다. 정답 코드 package D3; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; public class Solution_4406_모음이보이지않는사람 { //주어진 String에서 a, e, i, o, u 를 //삭제하는 문제 static int T; //테스트 케이스 static String str; //주어지는 단어 static St..
알고리즘/SWEA
풀이 과정 사람들의 소득을 모두 더한 뒤 평균을 구한다. 배열을 for문으로 돌면서 평균보다 작거나 같은 개수를 세어준다. 정답 코드 package D3; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Solution_10505_소득불균형 { //전체 소득의 평균을 구한 뒤 //평균 이하의 소득인 사람이 몇명인지 구하는 문제 static int T; //테스트 케이스 static int N; //사람의 수 static int [] arr; //소득값을 넣어줄 배열 public static void mai..
풀이 과정 운동 시간의 범위만 잘 체크해주면 굉장히 쉽게 풀리는 문제이다. 정답 코드 package D3; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Solution_3431_준환이의운동관리 { //1주일에 L분 이상 U분 이하의 운동을 하여야 함 //이번 주에 X분 만큼 운동했음 //제한되어 있는 시간을 넘은 운동을 한 것인지, //그것이 아니라면 몇 분 더 운동을 해야 제한을 맞출 수 있는지 static int T; //테스트 케이스 static int L, U, X; //L분 이상, U분 이하 ..
풀이 과정 3으로 나누기만 하면 바로 풀리는 문제이다. 왜D3인지 모르겠는 문제이다. 정답 코드 package D3; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Solution_13218_조별과제 { //월화수 오전 9 ~ 10 시 30분 까지 진행되는 수업 //N명의 수강생 //한 조에 3명 이상의 학생으로 조를 구성해야 하며 구성된 조의 최댓값을 구하는 문제 //3명을 못 채우면 버리기 static int T; //테스트 케이스 static int N; //학생의 수 public static void main(String[] args) throws Numb..
풀이 과정 시작 시간과 종료 시간을 더해서 24 보다 작은지, 큰지, 같은지에 대한 조건 처리만 잘 해주면 어렵지 않게 풀리는 문제였다. 정답 코드 package D3; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Solution_12368_24시간 { static int T; //테스트케이스 개수 static int A; //시작 시간 static int B; //종료 시간 public static void main(String[] args) throws NumberFormatException, IO..
package hw; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Solution_9229 { /* * 과자 두 봉지 구매 M 그램 초과하지 않는 선에서 * 과자 두 봉지의 최대 무게 합을 구하는 문제 * 과자는 무조건 두봉지를 삼 * 그리디? -> N 봉지 중 두개를 뽑는다 순서 상관 없음 * 조합 + M 초과 안 되는 조건을 줘보자 */ static int T; //테스트케이스 static int N, M;// 과자의 개수, 가능한 최대 무게 static..
배열 전체를 돌면서 최대값을 찾는 완전탐색 문제 파리채가 움직이면서 돌아다녀야 하기 때문에 for문을 잘 설정해주는 것이 중요했다 package hw; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Solution_2001 { /* * N*N 배열에서 * M*M 크기의 파리채로 * 파리를 죽이는데 * 최대한 많은 파리를 죽여야함 * 완전탐색으로 배열 전체를 돌면서 * 최대값을 갱신해주면 * 되는 문제일듯? */ static int T;// 테스트 케이스 static int N; // 배열크기 static..
평소 StringBuilder 를 잘 사용하지 않았는데 이 문제에서는 출력 시 StringBuilder를 사용해서 출력해보았다 package hw; import java.util.Scanner; public class Solution_1954 { /* * 시계방향으로 배열을 돌면서 * 1부터 숫자를 채워나가는 문제 * 4방탐색과 범위지정만 잘 해주면 * 그닥 어렵지 않은 문제일지도? */ static int N; //배열 크기 static int [][] arr; //달팽이 배열 //4방탐색은 시계방향 오른쪽 -> 아래쪽 -> 왼쪽 -> 위쪽 순서 static int [] dx = {0, 1, 0, -1}; static int [] dy = {1, 0, -1, 0}; //한 방향으로 순서대로 나아가다가 ..