다른 사람들 풀이 보니까 일 수(31,30,29 ..)랑 요일 이름을 배열에 넣고 풀이하는게 정석에 가까운것 같은데, 난 이걸 무려 for / if 랑 switch-case로 돌려버렸다.. (Calender 객체를 이용한 사람도 있었다.)어찌됐든 어떻게든 내 생각으로
한가지 의문은 왜 BufferedReader랑 BufferedWriter을 사용해서 했을 때는 이렇게 해도 저렇게 해도 자꾸 틀렸습니다😛 가 뜨는건지 모르겠다. 결국 Scanner로 하니 되긴하는데.. 원이 뭔지 모르겠다.flush close 빠뜨린거 하나 없는 것
Scanner 객체를 이용한 풀이 (132ms)BufferedReader BufferedWriter을 이용한 풀이 (92ms)확실히 Scanner를 이용할 때보다 Buffered... 클래스를 활용하는게 속도가 더 빠르다!
별찍기 슬슬 귀찮...🤔\* 뒤에 공백이 있을 때는 '출력 형식이 잘못되었습니다'로 나옴. 공백 제거하니 정답.
❗ 단순 반복문, 조건문으로는 최소 횟수 를 산출할 수 없음!❗ 무조건 큰 수로 나눠버리는게 최선이 아님!!!🔑 인덱스가 0부터 입력된 수까지 모든 수를 나타내는 배열을 생성하고, 각각 1이 되는 최소횟수를 값으로 가진다.💡 Top-Down은 재귀함수(출처 : ht
문제에서 구하려고 하는 답을 문장으로 나타낸다.그 문장에 나와있는 변수의 갯수만큼 메모하는 캐시 배열을 만든다.Top-down 인 경우에는 재귀호출의 인자의 갯수가 된다.(?)마지막으로, 문제를 작은 문제로 나누고 수식(점화식)을 이용하여 문제를 표현한다.(출처 : h
단순히 배열의 인덱스 순서로만 문제를 해결하려 들어서는 안되고, 문제 해결을 위해 조건을 세우고 쪼개봐야 하는구나!
Top-down으로 풀려다가 그냥 Bottom-up으로 풀었다. 내일은 Top-down으로 꼭 풀어봐야지.을 10,007로 나누지 않고 값을 출력하려고 해서 자꾸 틀렸습니다 를 맞았다..ㅂㄷㅂㄷ
Dynamic Programming 이란 이전에 계산된 값들을 통해 구하고자 하는 값을 얻는 풀이방법.Bottom-up 방식.자료형을 int로 했을 땐 값 범위가 벗어나 버림. long으로 바꾸자 정답~int의 범위 : -2,147,483,648~2,147,483,6
(참고 : https://fbtmdwhd33.tistory.com/76 )결국 다른 사람 풀이를 보고 이해했다. 아니, 사실 아직도 잘 이해가 안된다.소스는 이해를 했는데, 어떻게 저 원리가 성립되는지 잘 모르겠다.DP 진짜 알듯말듯 어렵네..BufferedR
(출처 : https://hees-dev.tistory.com/30 )규칙을 찾아서 일반화시키는 과정에서 길을 잃었다.. 나름 2중배열까지 사용해가며 코딩해봤으나 결국 답을 못찾고 실패. 다른 사람 코드 참고함.LIS(Longest Increasing Subs
난 처음에 가장 큰 숫자highestNum을 기점으로해서 어떻게 양쪽으로 구분할 수 있지 않을까 했는데.. 결국 실패했다. 30분정도 고민했다.구글링을 해보니 가장 일반적인 풀이법은 LIS 풀이법을 앞뒤로 계산해서 값을 구하는 방식이어서 참고해봤다.
BOJ 1699
BOJ 2750 선택 정렬 (Selection Sort)
factorial 값을 구하는 재귀함수를 사용했더니 시간초과😬다른 사람들 풀이를 참조했다. 팩토리얼 값 끝에 0이 붙으려면 10이 곱해져야 한다.즉, 10의 약수인 2와 5가 한번씩 나올 때에 0이 붙게된다는 말인데,2는 어차피 많은 수들의 약수이기 때문에 그 수가
BOJ 11653
Stack과 Math.pow() 사용하여 해결.
BOJ 1934
??? 이 문제 뭐지
Deque (Double-Ended Queue)라는 Collection을 처음 알게 되었다.다른 사람들은 Deque을 구현할 때, ArrayDeque보다 LinkedList 구현체를 주로 쓰는 것 같다.