전체 글

    [알고리즘] 백준 - 2309 일곱난쟁이 (Java)

    https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 9명중 7명을 고르는 문제이기 때문에 경우의 수가 많지 않다. 난쟁이가 아닌 2명만을 고르면 되기 때문에 9C2 = 36 가지 경우의 수가 있다. 순서가 없는 조합문제는 nCr => n! / r! 과 같이 경우의 수를 계산할 수 있다. 문제의 요건에서 두명의 난쟁이의 키를 빼면 100 이 되기 때문에 모두 반복할 수 있도록, 이중 배열을 사용하여 하나씩 선택해 나가는 형태로 구현하였다.

    LinkedList(연결리스트)

    LinkedList(연결리스트) 에 대해 알아보겠습니다. LinkedList는 각 노드들이 연결되어 있는 형태의 자료구조입니다. 배열(array)은 인덱스로 관리되는 반면에 연결리스트는 각 노드가 다음노드의 포인터를 가지는 구조로 되어있습니다. 각 노드는 데이터와 주소로 이루어지고, 하나의 노드는 다음 노드의 주소를 가지고 있습니다.마지막 노드는 다음 노드의 주소를 가질수 없기 때문에 주소값을 NULL값으로 가집니다. 연결리스트와 비교되는 배열은 위에 같은 형태를 띄고 있으며, 데이터를 가지는 위치를 index로 나타냅니다.배열의 이름과 index를 사용하여 (ex: arr[0], arr[1]) 특정 index를 가지는 노드에 바로 접근이 가능합니다.그렇기 때문에 배열은 특정 위치를 지정하여 검색할 때는..

    JUnit

    JUnit은 Java 테스트 프레임워크로 Spring의 최신버전에는 JUnit4가 포함될 정도로 많이 사용하는 테스트 도구입니다.일반적으로 Hamcrest 라이브러리와 함께 사용되어 더욱 명확한 테스트 의미전달을 합니다. JUnit 기본 제공 기능테스트 결과가 예상과 같은지 판별하는 단정문(assertions)공용으로 사용가능한 테스트 픽스쳐(test fixture)테스트 러너(test runner) 1. 단정문(assertions)assert를 prefix로 사용하는 메소드로 테스트 가독성을 높이고, 테스트 케이스의 수행결과를 판별합니다. JUnit 4.8 기준의 assert 목록 : https://junit.org/junit4/javadoc/4.8/org/junit/Assert.html Hamcres..

    TDD 개요

    테스트 주도 개발(Test Driven Development) 로직 개발전 테스트를 실행한다. 빠른 반복주기를 가지고, 실패하는 테스트를 먼저 만든다.TO-DO list를 만들고 항목에서 제거하며 테스트를 작성 -> 로직작성하여 테스트를 성공시킨다.TDD의 단위 테스트는 메소드(함수)를 단위로 한다.테스트의 단위를 단위(메소드)테스트, 통합(기능)테스트등으로 구분한다.실패 -> 성공 -> 리팩토링의 life cycle을 가진다. 테스트 주도 개발에 대해 아는 정보들을 간추려보았다.사실 TDD 공부를 하여 실무에 적용시켜보려는 생각은 계속 있었으나, 실제로 생각만 하였던 이유들이 몇가지 있었는데,가장 큰 이유는 시간(이라고 쓰고 게으름이라고 읽는다)과 의지인거 같다. 그럼에도 불구하고, 다시 공부해야겠다고..

    resource file 읽기

    1234567891011121314public class Test { private static Properties properties; static { properties = new Properties(); try { Reader reader = Resources.getResourceAsReader("config_properties.properties"); properties.load(reader); } catch (IOException e) { logger.error(e.getMessage(), e); } } private static final String PATH = properties.getProperty("filePath");}Colored by Color Scriptercs resource를..