1. 문제 설명 출발 좌표를 임의로 지정해주었을 때, 탈출이 가능한지 확인하는 문제이다. 미로에는 검은색 벽이 존재한다. (입력 시, 1은 벽을 의미하고, 0은 이동이 가능한 길을 의미) 2. Java 구현 package recursive; public class FindMaze { public static void main(String[] args) { /* 1 : 벽, 0 : 이동 가능 통로 */ int[][] maze = { {0, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 1, 0, 1, 1, 0, 1}, {0, 0, 0, 1, 0, 0, 0, 1}, {0, 1, 0, 0, 1, 1, 0, 0}, {0, 1, 1, 1, 0, 0, 1, 1}, {0, 1, 0, 0, 0, 1, 0, 1},..
1. Java 구현 package recursive; import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { /* 1. 입력 받기! */ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); int n = Integer.parseInt(br.readLine()); char[][] arr = new char[n][n]; for (int i =..
1. Java 구현 import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); long a = sc.nextLong(); long b = sc.nextLong(); System.out.println(getResult(getGCD(a, b))); sc.close(); } public static long getGCD(long a, long b) { long max = Math.max(a, b); long min = Math.min(a, b); if (max % min == 0) return min; else return getGCD(max % min, mi..
프로그래머스 1단계 모의고사 url: https://programmers.co.kr/learn/courses/30/lessons/42862?language=java 문제 설명수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ...2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ...3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까..
프로그래머스 1단계 완주하지 못한 선수 문제 url: https://programmers.co.kr/learn/courses/30/lessons/42576 문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문..
프로그래머스 1단계 체육복 문제 url: https://programmers.co.kr/learn/courses/30/lessons/42862?language=java 문제 설명오늘은 체육수업이 있는 날입니다. 그런데 점심시간에 도둑이 들어 몇몇 학생의 체육복이 도난을 당했습니다. 다행히 일부 학생들이 여벌의 체육복을 가져왔습니다. 학생들의 번호는 체격 순으로 매겨져 있기 때문에 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려주려고 합니다.예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 당연히 체육복을 2벌 가져온 학생의 체육복이 도난을 당했다면, 여벌의 체육복을 빌려줄 수 없습니다. 체육복이 없으면 체육수업을 들을 수 없기 때문에 체육복을 적절히 빌려..
유클리드 호제법 1. 유클리드 호제법 정의유클리드 호제법은 2개의 자연수의 최대공약수를 구하는 알고리즘2개의 자연수 a, b에 대해서 a를 b로 나눈 나머지를 r이라 하면(단, a>b), a와 b의 최대공약수는 b와 r의 최대공약수와 같다. 이 성질에 따라, b를 r로 나눈 나머지 r'를 구하고, 다시 r을 r'로 나눈 나머지를 구하는 과정을 반복하여 나머지가 0이 되었을 때 나누는 수가 a와 b의 최대공약수이다. [위키백과] 예) GCD(30, 12) = GCD(30 % 12, 12) = GCD(6, 12) = 6 예) GCD(72, 45) = GCD(72 % 45, 45) = GCD(27, 45) = GCD(45 % 27, 27) = GCD(18, 27) = GCD(27 % 18, 18) = GCD(..