[JAVA-자바] 15651번: N과 M (3)
·
알고리즘/백준
이전에 풀이한 문제의 시리즈입니다.  소스코드:import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.util.StringTokenizer;public class Main { static BufferedReader br; static BufferedWriter bw; static int N; static int M; static int[] result; public static void main(String[] args) throws ..
[JAVA-자바] 15650번: N과 M (2)
·
알고리즘/백준
2025.01.09 - [알고리즘/백준] - [JAVA-자바] 15649번: N과 M (1)기존에 풀었던 문제에서 중복 수열을 제거하고, 사전 순으로 증가하는 순서로 출력해야한다는 제약요건이 추가된 문제입니다. 예제 2번의 경우 - N이 4고 M이 2일때1 21 31 42 32 43 4와같은 출력 결과가 나오는걸 보면 아시겠지만, 단순하게 자기자신과 같거나 작은 숫자들을 사용하지 않으면출력 형식에 부합하는걸 보실 수 있습니다. 이를 코드로 옮기자면 소스코드:import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.Outpu..
[JAVA-자바] 15649번: N과 M (1)
·
알고리즘/백준
백트래킹을 이용해서 재귀함수로 작성해서 쉽게 풀 수 있는 문제입니다. 소스코드:import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.util.StringTokenizer;public class Main { static BufferedReader br; static BufferedWriter bw; static int N; static int M; static int[] result; static boolean[] visited; ..
[JAVA-자바] 1107번: 리모컨
·
알고리즘/백준
1.현재 채널은 100이다.2.채널의 범위는 0~500000이다.3.+- 버튼을 사용하여 채널을 증감시킬수 있다.4.버튼은 0부터9까지 있으며, 고장나있을수있다. 풀이:채널의 범의가 0부터 500000까지인데, -버튼으로 이동하는것까지 감안해서 0부터 999999까지 반복문을 돌며모든 채널에 대해서 버튼을 누르는 횟수를 계산하여 최솟값을 선택하면 됩니다.  소스코드:import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.util.Arrays;public class M..
[JAVA-자바] 6064번: 카잉 달력
·
알고리즘/백준
유클리드 호제법을 이용해서 최대공약수와 최소공배수를 구하고최소공배수까지 반복을 수행하면서 만약 정답이 없을 경우 -1를 반환하게 구현하였습니다. 해가되는 result는 최초에 x로 지정해주고, 반복마다 x += M을 수행해줌으로써 조건이 이미 만족되었기때문에y값만 조건문을 통해 검증하였습니다. 연산 전에 -1과 +1를 해준 이유는 예를들어 M이 10이고 x가 10일때나머지가 항상 0이 나오는 경우 때문에 삽입하였습니다. 소스코드:import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;pu..
[JAVA-자바] 3085번: 사탕 게임
·
알고리즘/백준
N을 입력받아 N*N의 게임 판을 선언하고, 데이터들을 입력받은 뒤, 한번의 스왑으로 최대의 점수를 얻을수 있는 케이스를 모두 체크해서 출력하는 프로그램입니다. 맨 처음에는 모든 칸의 데이터에 대해 상하좌우 스왑을 시도했지만, 중복되어 스왑하는 경우가 있었습니다. 소스코드:import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;public class Main { static int N; static char[][] board; // 보드 선언 public static vo..