자바 9

[BOJ] 1065 한수 with JAVA

단계별 풀기 : 함수 https://www.acmicpc.net/problem/1065 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net 오늘 풀어본 문제는 한수라는 알고리즘 문제다. 문제는 생각보다 간단하다. 100미만의 모든 수는 한수이다. 따라서 우리가 고려해야하는 것은 100 이상의 숫자이다. 지문에서 나온것 처럼 숫자의 각 자리수가 등차 수열을 이룬다면, 한수라고 할 수 있다. 공차는 음수일수도 양수일수도 있다. 따라서 ) 1 2 3 , 1 3 5 , 1 4 7 ... 점점 커지는 수도 한수이다. 그렇다면..

카테고리 없음 2022.01.01

[프로그래머스] 2020 카카오 인턴십 > 보석 쇼핑 - JAVA

https://programmers.co.kr/learn/courses/30/lessons/67258?language=java# 코딩테스트 연습 - 보석 쇼핑 ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7] programmers.co.kr 오늘은 프로그래머스에서 제공한 코딩테스트 문제 중 2020년 카카오 인턴십 문제를 풀어보았다. 이 문제는 Level 3에 해당되며, 슬라이딩 윈도우 알고리즘을 활용해야 한다. 슬라이딩 윈도우 알고리즘의 설명은 따로 작성하여 올리겠다. 가장 먼저 문제의 풀이를 함께 확인해보자. 우선 메인 코드에 들어가기 앞서, 변수에 대하여 이야기 해보겠다. int min = gems.length; H..

today's alogrithm 2021.08.29

Trie 자료 구조 알고리즘 만들기

알고리즘 문제를 풀다보면 문자열을 다루고 원하는 문자열을 검색하는 문제를 만날때가 종종 있다. 그때마다 Trie 자료 구조에 대해 찾아보곤 하는데 매번 까먹어서 잊지 않을려고 직접 기록해본다. 우선 Trie의 개념에 대해 이야기 해보겠다. Trie 자료 구조의 개념 Trie는 트리 형태의 자료 구조로 문자열을 빠르게 저장하고 검색하기 위해 사용되는데 사용한다. 개념을 이해하는 것은 어렵지 않았지만 막상 코드를 작성하면서 내가 대충 이해하고 넘어갔구나 생각하게 됬다. static class Trie{ boolean isLast = false; //현재 노드의 자식 노드 배열을 만든다. //배열의 크기는 영어 소문자를 기준으로 26개. Trie[] childNodes = new Trie[26] } 기본적으로..

STUDY/Algorithm 2021.07.01

[BOJ] 4375번 1 - JAVA

https://www.acmicpc.net/problem/4375 4375번: 1 2와 5로 나누어 떨어지지 않는 정수 n(1 ≤ n ≤ 10000)가 주어졌을 때, 1로만 이루어진 n의 배수를 찾는 프로그램을 작성하시오. www.acmicpc.net 오늘 풀어본 문제는 한달전 풀었다가 실패했던 문제다. 참 다양하게 틀렸는데 시간초과, 런타임 에러(ArrayIndexOutOfBounds, NumberFormat) 등등 오늘도 다시 풀었을때 네번에 실패를 맛봤다.. 이번엔 메모리 초과,, 우선 런타임 에러 NumberFormat같은 경우 숫자 범위를 long타입으로 잡았더니 범위가 초과되서 발생한 에러였다. 이를 해결하기 위해 BigInteger 객체를 사용했다. 그러나 문제는 아래의 코드를 작성했을 때는..

today's alogrithm 2021.06.25

[BOJ] 2470번 두 용액 - JAVA

https://www.acmicpc.net/problem/2470 2470번: 두 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,00 www.acmicpc.net 오늘 두번째로 풀어본 문제는 약 한달전 풀었다가 실패했던 두 용액이라는 문제이다. 규칙은 간단하다. 두 용액 값을 더하여 0에 가장 가까운 두 용액을 찾는 문제다. 호기롭게 도전했던 지난달, 시간초과라는 쓴맛을 맛봤다.. 기본적으로 이분 탐색 방법을 사용하여 문제를 풀었다. 첫 도전때 실패 원인은 쓸데없이 많이 발생하는 연산 문제이다. 그래서 이분탐색 부분을 다시..

today's alogrithm 2021.06.22

[BOJ] 1212번 8진수 2진수 - JAVA

https://www.acmicpc.net/problem/1212 1212번: 8진수 2진수 첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다. www.acmicpc.net 약 한달 전 런타임에러나서 포기하고 다른문제 풀다가 오늘 해결했다. 처음 문제를 풀때 수의 범위를 생각하지 않고 자바에 있는 내장함수를 이용했는데, 8진수를 10진수로 바꾸는 과정에서 수가 너무 커져 런타임에러가 발생했다. 그래서 귀찮아서 안풀고 있었는데 오늘 풀었다. import java.util.*; class Main{ public static void main (String[] args){ Scanner sc = new Scanner(System.in); String n = sc.next(); /..

today's alogrithm 2021.06.22

[BOJ] 2502번 떡 먹는 호랑이 - JAVA

https://www.acmicpc.net/problem/2502 2502번: 떡 먹는 호랑이 첫줄에 첫 날에 준 떡의 개수 A를 출력하고 그 다음 둘째 줄에는 둘째 날에 준 떡의 개수 B를 출력한다. 이 문제에서 주어진 D, K에 대해서는 항상 정수 A, B (1≤A≤B)가 존재한다. www.acmicpc.net 오늘 풀어본 문제는 백준의 떡 먹는 호랑이 기본적으로 다이나믹 프로그래밍 방법으로 푸는데 초깃값을 설정하는 것이 문제다. 나는 while문으로 초깃값을 설정하도록 했다. 처음에는 이분법으로 middle값을 가지고 문제를 풀다가 안되서 그냥 하나씩 값을 줄여줬다. 입력 값의 범위가 크지 않아서 가능한 방법인데,, 만약 범위가 크다면,,, 다른 방법을 찾아봐야 할것 같다. import java.u..

today's alogrithm 2021.06.18

[BOJ] 1254번 팰린드롬 만들기 - JAVA

https://www.acmicpc.net/problem/1254 1254번: 팰린드롬 만들기 동호와 규완이는 212호에서 문자열에 대해 공부하고 있다. 규완이는 팰린드롬을 엄청나게 좋아한다. 팰린드롬이란 앞에서부터 읽으나 뒤에서부터 읽으나 같게 읽히는 문자열을 말한다. 동호는 www.acmicpc.net 오늘 풀어본 문제는 실버 티어 1,2 등급에 있는 문제인 팰린드롬 만들기~ 첫 시도에 실패를 맛보고 좀 더 고민한뒤 풀어서 맞췄다. 바보같이 StringBuffer에다가 append를 이상하게 하고있었다. import java.util.*; class Main{ public static void main (String[] args){ Scanner sc = new Scanner(System.in); S..

today's alogrithm 2021.06.17

[BOJ] 기본수학 2 - JAVA

소수 찾기 소수 소인수 분해 ▷소수 찾기 코드의 변화 www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net import java.io.*; import java.util.*; public class Main{ public static void main(String[] args) throws IOException{ BufferedReader br =new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputSt..

today's alogrithm 2021.01.21