본문 바로가기

🧑‍💻코딩 테스트74

[코딩테스트/백준 알고리즘] 1107번 : 리모컨 (자바, Java 풀이) 문제 https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net 문제 설명 문제 풀이 입력값이 100인 경우 class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt();//이동하려는 채널 int channel = 100;//현재 채널 int result = Math.abs(N - channel);//.. 2022. 9. 4.
[코딩테스트/백준 알고리즘] 1476번 : 날짜 계산 (자바, Java 풀이) 문제 https://www.acmicpc.net/problem/1476 1476번: 날짜 계산 준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타 www.acmicpc.net 문제 설명 문제 풀이 나머지 연산을 사용했다. 어떤 수를 n으로 나눈 수의 나머지는 절대 n을 넘을 수 없다. int earth = result % 15; if(earth == 0) earth = 15; int sun = result % 28; if(sun == 0) sun = 28; int moon = result % 19; if(moon == 0) moon = 19; 코드 import java.. 2022. 9. 3.
[코딩테스트/백준 알고리즘] 3085번 : 사탕 게임 (자바, Java 풀이) 문제 https://www.acmicpc.net/problem/3085 3085번: 사탕 게임 예제 3의 경우 4번 행의 Y와 C를 바꾸면 사탕 네 개를 먹을 수 있다. www.acmicpc.net 문제 설명 문제 풀이 이 문제를 풀면서 까다로웠던 것은 기준이 되는 칸의 위치에 따라 자리를 바꿀 수 있는 방법의 수가 달라진다는 것이다. 이 경우를 따로 처리해주기가 매우 번거롭기 때문에 이런 경우 쉽게 해결할 수 있는 방법을 소개하겠다. 게임 판(board)의 상하좌우로 테두리를 만들어주면 모든 경우에 대해 자리를 옮기는 방법을 4가지로 통일할 수 있다. 자료구조 int N = Integer.parseInt(br.readLine());//게임 판의 사이즈 char[][] board = new char[N .. 2022. 9. 3.
[코딩테스트/알고리즘] 브루트 포스(Brute Force) 브루트 포스 브루트 포스는 가능한 모든 경우의 수를 다 시도해보면서 문제를 푸는 방식이다. 이때, 경우의 수를 모두 해보는데 걸리는 시간이 문제의 제한시간을 넘기지 않아야 한다. 예시) 숫자로만 이루어진 n자리 비밀번호 알아내기 비밀번호의 자리수 가능한 범위 경우의 수 입력 하나에 1초로 따진 소요시간 4자리 0000 ~ 9999 10000가지 10000초 = 약 2.7시간 5자리 00000 ~ 99999 100000가지 100000초 = 약 1일 3시간 6자리 000000 ~ 999999 1000000가지 1000000초 = 약 11일 12시간 12자리 000000000000 ~ 999999999999 1000000000000가지 1000000000000초 = 약 31688년 브루트 포스로 문제를 풀기.. 2022. 9. 2.