아주 기본적인 문법들을 이용한 문제들을 지나고 나니 내가 컬렉션 프레임워크에 대해 전혀 모르고 있으며 그것이 치명적이라는 것을 깨닫게 됐다. 특히 재귀함수를 활용하지 않으면 구현하기 어려운 문제들을 만나게 됐다. 어렴풋이 재귀함수의 개념으로 실행해주는 무언가가 필요한데.. 라고 느끼기는 했지만 실제로 그것을 구현하지는 못했고, 계속 붙잡고 있기 보다는 보고 배우고 익히는게 효율적일 것 같아 강의를 봤다. 군더더기 없이 깔끔한 강의였다. 보고 이해한 뒤에 스스로 작성해봤는데 약간의 삐걱거림이 있었다. 재귀호출하는 함수의 실행 기준 if문의 조건을 배열의 length 보다 1 작게 하여 마지막에서 두번째 녀석까지만 비교를 수행하도록 해야 하는 점을 간과했다. 그리고 최소값 자체가 아니라 최소값을 가진 ind..
덧셈을 통한 String의 결합 charAt() 메소드를 통한 String의 특정값 추출 length()를 통한 스트링 길이 구하기 위의 3가지를 이용해 String, int, char를 오가며 자료를 굴리는 연습이었다. 의외의 복병은 BufferedWriter 였는데... 지금까지 모든 문제는 StringBuffer 객체를 출력했기에 몰랐다. BufferedWriter의 write 메소드의 경우 여러 타입의 파라메타를 받도록 오버로딩 되어있는데, int 값을 넣을 경우 single character 를 write 한다. 따라서 String 값으로 변환해줘야 한다. 지저분하고 복잡한 풀이결과이지만.. 아직은 결과를 만들어내는 것에 집중하는 것이 더 나은 효율을 보이는 구간에 있다는 판단이다. 1 2 3 ..
시간제한을 처음 걸려본 뒤 푼 첫 문제다. 시험삼아 Scanner 와 System.out.println()을 활용해서 풀어봤는데 제한에 걸리지 않았다. 그래도 BufferedReader와는 얼마나 차이가 나는 것인지 비교를 해보고 싶어져서 BufferedReader/BufferedWirter를 활용해서 다시 풀어보고 메모리와 시간을 비교해보기로 했다. 먼저 Scanner&System.out.println() 으로 풀이한 결과다 1 2 3 4 5 6 7 8 9 10 11 12 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int ..