본문 바로가기

Java67

백준 [자바 java] 10797 : 10부제 https://www.acmicpc.net/problem/10797 10797번: 10부제 서울시는 6월 1일부터 교통 혼잡을 막기 위해서 자동차 10부제를 시행한다. 자동차 10부제는 자동차 번호의 일의 자리 숫자와 날짜의 일의 자리 숫자가 일치하면 해당 자동차의 운행을 금지하는 www.acmicpc.net 첫번째 줄에 한자리 수가 주어지고 두번째 줄에 주어진 5개의 수 중 일의자리가 이와 일치하는 수의 갯수를 출력하는 문제이다. 일의자리 수는 해당 수를 10으로 나눈 나머지와 같으므로 이와 비교하는 방식으로 문제를 풀었다. import java.io.*; import java.util.*; import java.math.*; public class Main { public static void mai.. 2023. 8. 9.
코드트리 [자바 java] 정수 사각형 최대 합 https://www.codetree.ai/missions/2/problems/maximum-sum-path-in-square?utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 행렬에서 1,1에서 n,n까지 가는데 거쳐간 위치에 있던 숫자의 합이 최대가 되도록 하는 문제이다. 나는 dp배열을 하나 더 만들었다. 이는 1,1에서 dp각각의 칸까지 이동할 때 경로상에 있는 숫자를 더한 최대값을 의미한다. 제일 위 칸은 위에서 오는 경우가 없다. 왼쪽에서 오는 경우밖에 없으니까 왼쪽 값에 해당.. 2023. 8. 8.
코드트리 [자바 java] 피보나치 수 https://www.codetree.ai/missions/2/problems/fibonacci-number?utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 수가 주어지면 해당 수 번째의 피보나치수를 구하는 문제이다. 첫번째와 두번째 피보나치 수는 1이므로 이들이 주어지면 바로 1을 출력하게 하였고 나머지 수들은 주어진 수 만큼 dp배열을 만들고, dp[0],dp[1]에 1을 넣은 후 2부터 차례대로 전과 전전 dp값을 더한 값을 넣었다. 위 과정이 다 실행되면, dp에 있는 제일 끝 .. 2023. 8. 8.
코드트리 [자바 java] N개중에 M개 뽑기 https://www.codetree.ai/missions/2/problems/n-choose-m?utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 이 문제는 조합을 구해야 한다. 앞선 문제에서는 전부 숫자들의 순서, 중복 여부가 크게 중요하지 않았지만, 여기서는 숫자들이 오름차순으로 정렬되어야 하고 중복 되어서는 안된다. import java.io.*; import java.util.*; public class Main { static int n; static int m; static .. 2023. 8. 6.
코드트리 [자바 java] 아름다운 수 https://www.codetree.ai/missions/2/problems/beautiful-number/submissions 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 이 문제는 입력받은 수 길이의 아름다운 수가 얼마나 있는지 계산하는 것이다. 1은 하나씩, 2는 두개씩, 3은 3개씩, 4는 4개씩 한번에 나타나야 한다. 이 문제는 위와 같은 방식이지만, 1,2,3,4를 한 덩어리로 생각해서 배열에 넣어주었다. 이 문제에서 한 덩어리의 수를 넣었을 때 배열을 벗어나는 경우에 대한 예외처리를 해야하는 것을 주의해야 한다. import java.. 2023. 8. 6.
백준 [자바 java] 12904 : A와 B https://www.acmicpc.net/problem/12904 12904번: A와 B 수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수 www.acmicpc.net 처음에는 dfs로 풀었는데 시간초과가 났다. 그래서 더 효율적인 방법을 찾다가 완성된 문자열에서 처음 문자열로 돌아가는 방법을 쓰게 되었다. 문자열의 제일 끝이 A이면 이전에 기존 문자열 끝에 A를 썼다는 의미이므로 A를 뺴고 그대로 두면 되고, B이면 B를 빼고 문자를 뒤집으면 된다. 이를 반복하다가 문자가 아예 사라지면 break를 통해 나오고 안된다는 결.. 2023. 8. 4.