개요 이 책은 크게 이론/실전/단위 테스트로 총 3개 파트로 나뉘어 있습니다. 1부 이론 편에서는 코드품질, 추상화 계층, 다른 개발자와의 코드 계약, 오류에 대한 내용을 다룹니다. 좀 더 자세하게는 1. 고품질의 소프트웨어를 만들기 위해서 코드를 어떻게 작성해야 하는지 2. 추상화 수준을 어떻게 가져가면 코드를 이해하기 쉽고, 재활용하기 쉽고, 테스트를 쉽게 할 수 있는지 3. 자신이 작성한 코드를 다른 개발자가 사용하려면 어떻게 코드 계약을 맺어야 하는지 4. 문제가 어떻게 발생하고 어떻게 대처해야 하는지에 대해서 배웁니다. 2부 실전 편에서는 가독성 높은 코드 작성, 예측 가능한 코드 작성, 코드를 오용하기 어렵게 만들라, 코드를 모듈화 하라, 코드를 재사용하고 일반화하라에 대한 내용을 다룹니다. ..
https://school.programmers.co.kr/learn/courses/30/lessons/42839 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소수 찾기 (완전 탐색) 배운 것 에라토스테네스의 체 소수 찾기 재귀를 통한 숫자 조합 에라토스테네스의 체 란? 수학에서 에라토스테네스의 체는 소수를 찾는 방법을 말한다. 고대 그리스 수학자 에라토스테네스가 발견하였다. 에라토스테네스의 체를 이용해 1~n까지의 소수를 알고 싶다면, n까지 모든 수의 배수를 다 나눠 볼 필요는 없다. 만약 n보다 작은 어떤 수 m이 m=ab라면 a와b 중 적어도 하..
https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 일반적인 DFS/BFS문제 배운 것 BufferedWriter int형 출력할 때 String으로 변환해야 한다. (안 그러면 아스키코드 반환) import java.io.*; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; // 유기농 배추 // BufferedWriter int형 숫자 출력 publi..
https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 문제 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의..