본문 바로가기

CODING119

[BAEKJOON] 1316번 그룹 단어 체커 비교한 문자를 누적할 새로운 문자열 변수를 생성한다. 문자열의 첫 번째 문자부터 새로운 문자열 변수에 이어붙인다. 이 새로운 문자열에 다음 비교해야 할 문자가 포함되어 있는지 확인하고, 포함되어 있다면 새로운 문자열 마지막 문자와 같아야지만 연속 문자열이라고 할 수 있다. 비교해야 할 문자와 새로운 문자열의 마지막 문자가 같지 않다면 존재는 하지만 연속되지 않으므로 연속 문자열이 아니다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main{ public static void main(String[] args) throws NumberFormatException.. 2022. 2. 1.
[BAEKJOON] 1977번 완전제곱수 M과 N 사이의 수 중 완전 제곱수인 수를 구한다. 1*1, 2*2, ... 차례로 범위 내의 수를 구하면서 총 합을 구한다. 합을 더하기 전 sum 변수가 0일 경우에만 최초 최소값을 저장한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int M = Integer.pa.. 2022. 2. 1.
[BAEKJOON] 1032번 명령 프롬프트 입력 받는 모든 문자열의 길이는 같으므로 첫 번째 문자열을 기준으로 다음 문장과 그 다음 문자열을 비교한다. 먼저 첫 번째 문자열과 다음 문자열의 첫 문자부터 시작하여 문자가 서로 다르다면 해당 문자를 " ? "로 바꾼다. 마지막 문장까지 반복 비교한 후 변경된 문자열을 출력한다. import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class Main { public static void main(String[] args) throws NumberFormatExc.. 2022. 2. 1.
[BAEKJOON] 1259번 팰린드롬수 0을 입력 받기 전까지 반복문을 수행한다. 입력 받은 문자열의 첫 번째 문자와 가장 마지막 문자를 비교하고, 두 번째 문자와 마지막에서 두 번째 문자를 비교하여 같은지 판단하기를 반복한다. 문자열 길이의 절반 횟수만큼만 비교하면 된다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in.. 2022. 1. 31.
[BAEKJOON] 1193번 분수 찾기 지그재그로 지나가는 루트를 층 단위의 개념으로 이해해보자. 홀수 층은 대각선 위 방향으로, 짝수 층은 대각선 아래 방향으로 움직인다. 이때 (층수+1)은 각 층에 존재하는 분수의 분모와 분자를 더한 수와 같다. 내가 찾고자 하는 분수가 8번째라고 하면 예제 출력에 의하면 2/3이어야 한다. 1층에 분수 1개, 2층에 분수 2개, 3층에 분수 3개, ... 와 같은 패턴을 보인다. 입력 예제가 몇 층에 위치하는지, 해당 위치의 분수는 어떤 수로 분자와 분모를 이루는지 패턴을 읽어보자. 반복문을 돌면서 해당 층수의 분수 개수를 누적하여 더한다. 1층까지의 누적 분수 개수 => 1개 2층까지의 누적 분수 개수 => 1+2개 3층까지의 누적 분수 개수 => 1+2+3개 4층까지의 누적 분수 개수 => 1+2+3.. 2022. 1. 31.
[BAEKJOON] 2839번 설탕 배달 입력 받은 N 킬로그램을 5킬로그램, 3킬로그램 봉지로 각각 최대 몇 개씩 배달할 수 있는지 구하는 문제이다. 5킬로그램 최대 개수와 3킬로그램 최대 개수로 제한하여 모든 조합의 경우의 수를 생각해볼 수 있다. 예를 들어 총 18킬로그램은 5킬로그램으로 최대 3개, 3킬로그램으로 최대 6개까지만 배달할 수 있다. 최소 개수로 18킬로그램을 맞추기 위해서는 5킬로그램짜리 봉지를 많이 배달하는 것이 효율적일 것이다. 5킬로그램짜리 봉지 최대 개수에서부터 최소 개수 0개까지, 3킬로그램짜리 봉지 최소 개수 0에서 최대 개수까지, N킬로그램에 맞는 조합을 찾는다. import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOExce.. 2022. 1. 30.