부트캠프 두 달차의 회고
한 달차의 목표를 실천했는가?
지난 달에 1달차 회고록을 썼었다.
그때의 목표에서 필요한 부분에 맞게 수정해서 실천하고 있다
당일 복습
연습 문제 미리 풀기
개발 관련 서적 읽기 (동기부여를 위해)
백준 하루 3문제 매일 풀기 -> 개수 상관없이 백준 매일 풀기
주 3회 이상 자전거 타기
당일 복습과 연습문제 미리 풀기보다는 백준 문제를 더 풀면서 매일 다른 문제르 적용하는 게 더 중요하다고 판단했다. 그래서 이 부분은 목표에서 제외했다.
그리고 자전거 타기는……한동안 주 2~3회는 꼬박 꼬박 나갔는데.. 요즘엔 좀 귀찮아졌다.. 운동을 소홀히 하지 말아야지…
처음...
자바 스프링 핵심개념 (AOP)
AOP
AOP가 필요한 이유?
Aspect는 여러 유형과 객체 간에 발생하는 문제 (ex - 트랜잭션)의 모듈화를 가능하게 함!
AOP 용어
애스팩트(Aspect)
어드바이스 + 포인트컷을 모듈화하여 애플리케이션에 포함되는 횡단 기능
조인 포인트(join point)
클래스 초기화, 객체 인스턴스화, 메소드 호출, 필드 접근, 예외 발생과 같은 애플리케이션 실행 흐름에서의 특정 포인트를 의미
어드바이스(Advice)
조인포인트에서 수행되는 코드
포인트컷(Pointcut)
조인 포인트 중에서 어드바이스가 적용될 위치를 선별하는 기능
위빙(We...
[JAVA] 문자열에서 숫자를 찾아..
문제
문자열에서 숫자를 모두 찾아 더한 뒤에 해당 값을 문자열의 길이로 나눈 값을 반올림하여 리턴
설계
변수 선언 (숫자를 찾아낼 String digit, 총합을 구할 double sum, 숫자를 뺀 문자열 pure str)
for문을 사용하여 문자열 순회
2-1. if (str에 숫자가 있다면)
str을 int로 바꾸고 sum에 더해줌
2-2 else if (str이 공백이 아니라면)
pure_str에 해당 문자열을 더해줌
result에 총합 나누기 문자열의 길이를 넣음
math.round를 사용해서 반올림을 해준다
### 구현
```java
public ...
[JAVA] 백준 1152번 (단어의 개수)
문제
영어 대소문자와 공백으로 이루어진 문자열이 주어진다.
이 문자열에는 몇 개의 단어가 있을까?
이를 구하는 프로그램을 작성하시오.
단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다.
입력
첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다.
이 문자열의 길이는 1,000,000을 넘지 않는다.
단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다.
또한 문자열은 공백으로 시작하거나 끝날 수 있다.
출력
첫째 줄에 단어의 개수를 출력한다.
예제
```java
입력: The Curious Case of Benjamin Button ...
자바 스프링 핵심개념 (DI)
스프링의 핵심개념 중 하나인 DI를 공부한다!
DI
스프링 컨테이너
스프링 컨테이너는 스프링 프레임워크의 핵심 컴포넌트
스프링 컨테이너?
Bean 생성, 관리, 제거 등의 역할을 담당
컨테이너를 사용하는 이유?
객체간의 의존성을 낮추기 위해서
-> 구현 클래스에 있는 의존을 제거하고 인터페이스에만 의존하도록 설계
Spring Container 생성
```java
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);
ApplicationCo...
[JAVA] 아이소그램(isogram) 알고리즘
문제
문자열을 입력받아 아이소그램인지 여부를 리턴해야 합니다.
아이소그램(isogram)은 각 알파벳을 한번씩만 이용해서 만든 단어나 문구를 말합니다.
원래 하려고 했던 방법 1
str = str.toLowerCase();
String[] new_str = new String[str.length()];
for (int i = 0; i < str.length(); i++) {
new_str [i] = str.toLowerCase();
for (int j = i + 1; j < str.length(); j++) {
if (new_str [i] == new_str[...
[JAVA] 나눗셈, 나머지 연산자 없이 나머지 구하기
문제
나누기와 나머지 연산자를 사용하지 않고 num1를 num2로 나눈 나머지를 리턴
방법
나눗셈과 나머지 연산자는 사용할 수 없다
그렇다면 지금 사용할 수 있는 연산자는 덧셈과 뺄셈
num1에서 num2를 계속 빼준다면 결국 나머지가 나오기 때문에 반복문과 뺄셈을 사용해 나머지를 구현
구현
public class Main {
public Integer modulo(int num1, int num2) {
if (num2 == 0) return null;
while (num1 >= num2) {
num1 =...
66 post articles, 10 pages.