분류 전체보기(593)
-
백준(Backjoon) 10820, 문자열 분석
문제풀이 하나의 문자열을 입력받고 Character 클래스의 isLowerCase(), isUpperCase(), isDigit(), isSpaceChar() 메서드를 활용하여 각각의 문자 종류에 따라서 카운트를 수행한다. 주의할 점은 입력부문에서 입력 개수가 주어지지 않아서 while문의 조건문을 null이 아닐때까지 입력받는 것으로 설정한다. 소스코드 public class Main { public static void solution(String str) { int[] arr; StringBuilder answer = new StringBuilder(); arr = new int[4]; answer = new StringBuilder(); for(int i=0;i
2021.07.07 -
3. 스프링 DI(Dependency Injection) #5 두 개 이상의 설정 파일 사용하기
본 글은 최범균 저자의 초보 웹 개발자를 위한 스프링5 프로그래밍 입문의 내용을 복습하기 위해 작성된 글입니다. 8. 두 개 이상의 설정 파일 사용하기 스프링을 이용해서 어플리케이션을 개발하다보면 적게는 수십 개에서 많게는 수백여 개 이상의 빈을 설정하게 된다. 설정하는 빈의 개수가 증가하면 한 개의 클래스 파일에 설정하는 것보다 영역별로 설정 파일을 나누면 관리하기가 편해진다. @Autowired를 이용한 두 개이상의 설정 파일 사용 스프링은 한 개 이상의 설정 파일을 이용해서 컨테이너를 생성할 수 있다. 아래의 두 설정 클래스 파일은 이전에 작성한 AppCtx.java의 빈 설정을 나누어서 설정한 것이다. AppConf1.java @Configuration public class AppConf1 { ..
2021.07.06 -
백준(Backjoon) 10799, 쇠막대기
문제풀이 제가 생각한 위 문제의 핵심은 레이저가 발사 시 발사된 가운데를 기점으로 쇠막대기의 왼쪽의 개수를 세는 것입니다. 그리고 오른쪽의 개수는 파이프가 끝날때마다 1개씩 추가해주는 것이라고 생각합니다. 위의 설명을 스택에 적용한다면 다음과 같습니다. "(" 문자열이 입력될때마다 스택에 "(" 문자열 push ")" 문자열이 입력될 때 pop 수행, 그리고 ")" 문자열이 레이저인지 파이프의 종료인지 검사 입력된 ")" 문자열의 이전 문자열이 "(" 인 경우 : 레이저 레이저 인경우 스택의 사이즈 만큼 결과 변수에 누적 입력된 ")" 문자열의 이전 문자열이 ")" 인 경우 : 파이프의 종료 파이프의 종료인 경우 결과 변수에 1만큼 누적 소스코드 import java.io.BufferedReader; i..
2021.07.06 -
백준(Backjoon) 1026, 보물
문제풀이 A배열과 B배열의 각각의 원소에 대한 곱하기의 합이 최소값이 되기 위해서는 A배열의 제일 작은 원소값들과 B 배열의 제일 큰 원소값들이 곱하기를 수행하여야 한다. 따라서 A 배열은 오름차순으로 정렬하고, B 배열은 내림차순으로 정렬하여야 한다. 소스코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.Collections; public class Main { public static int solution(Integer[] A, Integer[] B, int n) { Arrays.sort(A);// 오름차..
2021.07.06 -
백준(Backjoon) 11655, ROT13
문제풀이 각각의 문자들을 10진수로 변환한 다음 소문자, 대문자에만 13을 더한다. 단, 13을 더했을때 알파벳 십진수의 범위에서 벗어나는 경우 순회하여 증가시킨다. 예를 들어 소문자 알파벳 'o' 같은 경우 십진수로 111이다. 여기서 13을 더하면 124가 된다. 하지만 124는 97~122의 범위에서 벗어나므로 2 초과한다. 따라서 초과한 만큼 다시 97에서 더하여 98을 만들도록 한다. 공식은 아래와 같다. 더보기 만약 문자가 소문자이고 문자의 십진수+13이 122보다 초과할 때 최종값 = (문자의 십진수+13)-123+97 만약 문자가 대문자이고 문자의 십진수+13이 90보다 초과할 때 최종값 = (문자의 십진수+13)-97+65 예시) 알파벳 o = 111 (111+13)-97+65 = 92 ..
2021.07.05 -
3. 스프링 DI(Dependency Injection) #4 @Configuration 설정 클래스의 @Bean 설정과 싱글톤
본 글은 최범균 저자의 초보 웹 개발자를 위한 스프링5 프로그래밍 입문 도서의 내용의 복습을 위해 작성된 글입니다. 7. @Configuration 설정 클래스의 @Bean 설정과 싱글톤 앞서 작성한 AppCtx 클래스의 일부는 다음과 같다. @Configuration public class AppCtx{ @Bean public MemberDao memberDao() { return new MemberDao(); } @Bean public MemberRegisterService memberRegSvc() { return new MemberRegisterService(memberDao()); } @Bean public ChangePasswordService changePwdSvc() { ChangePass..
2021.07.02