분류 전체보기
-
TDD의 바이블 '테스트 주도 개발'을 읽고IT, 기술 도서 2018. 6. 17. 10:40
회사에서 테스트 케이스를 작성했던 1~2달 동안 참고할만할까 싶어 읽은 책. 내공이 부족해 코드를 이해하긴 어려웠지만, 원론적인 부분은 도움이 많이 됐다. 테스트 케이스의 중요성을 책을 보며 강하게 인식하는 것 또한 이 책이 주는 강점이다. 작은 프로젝트 하나를 할 때, 복사 붙여넣기만 하면 사실 이틀이면 됐지만, 하나 하나 테스트 케이스를 제대로 작성하니 시간이 걸렸지만, 훨씬 리팩토링 하기도 쉽고, 바뀐 소스에 대한 테스트도 쉬웠다. (JUnit을 사용하면, 굳이 바뀐 소스에 대해서 서버를 다시 올릴 필요가 없으니) 모두 테스트 주도 개발하세요~
-
[java] 백준 알고리즘 2581번 소수 풀이알고리즘/백준 알고리즘 2018. 6. 14. 15:58
등차수열 공식을 이용해 시작하는 수(M)부터 끝나는 수(N)까지 총 합을 구하고, 소수가 아닌 수가 나올때마다 총 합에서 그 숫자를 빼주었다. 소수도 M과 N 사이의 숫자에서 소수가 아닌 값이 나올 때마다 빼주어 총 소수의 숫자를 구했다. * 풀이 소스 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061public class Baekjoon2581{ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamRe..
-
[java] 백준 알고리즘 1978번 소수 찾기 풀이알고리즘/백준 알고리즘 2018. 6. 14. 15:40
소수가 아닌 경우를 탈락 시켜 나가면서 해결했다. 이 공식을 활용했다. 수가 수를 나누기 위해서는 그 몫이 항상 필요하며 나누는 수와 몫 중 어느 하나는 반드시 {\displaystyle {\sqrt {n}}} 이하이기 때문이다. - 출처: 위키피디아 while문에서 나누는 수가 제곱근 이상이 되면 break를 걸었다. * 풀이 소스 1234567891011121314151617181920212223242526272829303132333435363738public class Baekjoon1978{ static StringTokenizer st; public static void main(String[] args) throws IOException { BufferedReader br = new Buffe..
-
[java] 백준 알고리즘 2750번 수 정렬하기 풀이알고리즘/백준 알고리즘 2018. 6. 14. 15:34
이중배열을 통해 해결했다. 바깥 for문이 아닌 안쪽 for문은 가장 큰 숫자를 가장 오른쪽으로 배열해준다. 그러나, 하나의 가장 큰 숫자를 가장 오른쪽으로 배열한다고 해서 끝나는게 아니라, 이것은 오름차순이기 때문에 오른쪽으로 갈수록 숫자가 커져야한다. 그래서 배열의 크기만큼 바깥 for문을 돌아주면 모든 숫자들을 비교하면서 오른쪽으로 이동하기 때문에 오른차순으로 정렬한다. * 풀이 소스 12345678910111213141516171819202122232425262728293031323334353637public class Baekjoon2750{ public static void main(String[] args) throws NumberFormatException, IOException { Buf..
-
Caused by: java.lang.IllegalStateException: Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, at org.apache.log4j.Log4jLoggerFactory.<clinit>웹 개발/에러 해결 2018. 6. 7. 09:45
java.lang.ExceptionInInitializerError 이런 에러가 나면서 jar파일이 충돌되는 것 같았다. 충돌되니까 하나 삭제하면 된다 라는 분도 있었는데, 다른 방법도 있을까 싶어서 스택오버플로우를 뒤져봤더니 다른 해결법을 찾았다. 123456 log4j log4j 1.2.17 Colored by Color Scriptercs pom.xml에서 위의 dependency를 주석처리해주고(혹은 exclusion) maven update 후 실행해보니 해결!
-
[java] 백준 알고리즘 2750번 수 정렬하기 풀이알고리즘/백준 알고리즘 2018. 6. 4. 19:36
숫자의 길이만큼 for문을 돌리면 제일 큰 숫자가 마지막으로 가게 할 수 있다. 하지만 모든 숫자가 오름차순으로 정렬해야하기 때문에 이중for문으로 돌려준다. * 풀이 소스 123456789101112131415161718192021222324252627282930313233343536public class Main { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter..
-
[java] 백준 알고리즘 2748번 피보나치 수 2 풀이알고리즘/백준 알고리즘 2018. 6. 4. 15:15
다이나믹 프로그래밍 문제를 푸는 방식과 유사하다. * 풀이 소스 123456789101112131415161718192021public class Baekjoon2748{ public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); int n = Integer.parseInt(br.readLine()); long[] fibonacci = new long[..
-
[java] 백준 알고리즘 1475번 방 번호 풀이알고리즘/백준 알고리즘 2018. 5. 31. 11:19
주의할 점은 1. 6, 9는 대체될 수 있다. 2. 중복된 수가 나와서 새로운 세트를 구입했더라도 사용하지 않은 이전 세트의 숫자를 사용할 수 있다. if문으로 9 혹은 6이 왔을 때 사용하지 않은 반대의 숫자가 있다면 대체될 수 있게 만들었다. 구입한 세트만큼 플라스틱 숫자를 사용하였으면 새로운 세트를 구입하도록 만들었다. 구입한 세트만큼 사용하지 않은 플라스틱 숫자가 있으면 사용하도록 만들고 그만큼 플라스틱 숫자를 사용했다고 1씩 추가했다. * 풀이 소스 12345678910111213141516171819202122232425262728293031323334public class Baekjoon1475 { public static void main(String[] args) throws Number..