전체 글
[Spring]의존성 주입(Dependency Injection, DI) - 미완
1. 의존성 주입 의존성 주입이란? 클래스간 의존성을 클래스 외부에서 주입하는 것을 뜻함 인터페이스를 사이에 둬서 클래스 레벨에서는 의존관계가 고정되지 않도록 하고 런타임 시에 관계를 동적으로 주입 (인터페이스를 사이에 둬 느슨한결합[결합도를 낮춤] + 클래스의 인스턴스를 외부에서 생성하여 주입) ★클래스간 의존성이란? 클래스간에 의존 관계를 가지고 있다는 뜻 -> 한 클래스가 바뀔 때 다른 클래스가 영향을 받는다. new 키워들를 통해 객체를 생성할 때 의존성을 갖는다. 강한 결합 VS 느슨한 결합 강한결합 : 객체 내부에서 다른 객체를 생성하는 경우 강한결합을 가지는 구조 강한결합의 경우 객체를 변경할 때마다 Person 객체는 두 부분을 수정해야한다. 1) 필드 와 생성자 부분 2) personDo..
![[백준 3052] 나머지](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc3Q5m0%2FbtrP5E6QpZ2%2FNAaBzzsPdepk0riN5teLnk%2Fimg.png)
[백준 3052] 나머지
3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 풀이 더보기 1) 배열을 통한 풀이 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int[] arr = new int[42]; for (int i = 0 ; i 0){ count++; ..
![[백준 2439] 별 찍기 - 2](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ft5N2V%2FbtrPWUWu7i3%2FqvZjyU4N4I4kzZGJFenri0%2Fimg.png)
[백준 2439] 별 찍기 - 2
2439번: 별 찍기 - 2 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.net 풀이 더보기 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int cnt = sc.nextInt(); for (int i = 0 ; i 1 ; j--){ System.out.print(" "); } for (int k = cnt ; k >= cnt - i ; ..
![[백준 1546] 평균](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8FGtu%2FbtrPWU3fMGZ%2F9zknhdoL56W4JPFPU0kic1%2Fimg.png)
[백준 1546] 평균
1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 풀이 더보기 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int cnt = sc.nextInt(); int[] score = new int[cnt]; for (int i = 0 ; i < cnt ; i++){ score[i] = sc.nextInt(); } sc.close(); do..
![[백준1157] 단어 공부](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUBuzE%2FbtrP0GpNG8B%2Fte8JfAX69uae6dIS6F0dVk%2Fimg.png)
[백준1157] 단어 공부
1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 풀이 더보기 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String word = sc.next().toUpperCase(); //입력받은 문자열 char[] wordToChar = new char[word.length()]; //문자열을 문자단위로 잘라 넣어줄 배열 //해당 문자열 - 문자단위로 잘라서 배열에 담음 fo..
![[백준1152] 단어의 개수](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FN7fuK%2FbtrPQNqQ4Ii%2FsvZVIqGEgRlYdXAmmPgzV1%2Fimg.png)
[백준1152] 단어의 개수
1152번: 단어의 개수 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열 www.acmicpc.net 풀이 더보기 split과 StringTokenizer객체 차이 split() : 지정한 구분자로 문자열을 나눠 배열에 저장 ##공백 문자열도 포함 StringTokenizer : 공백 포함X 속도 : StringTokenizer > split 1) split import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(..
![[백준11720] 숫자의 합](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbTBnyv%2FbtrPR6cjcW5%2FJQVuiyJTTnHSTMLO68L2f0%2Fimg.png)
[백준11720] 숫자의 합
11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 풀이 더보기 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt(); String val = sc.next(); sc.close(); int sum = 0; //합계를 위한 변수 String[] val2 = val.split(""); //둘째 줄에 입력받은 숫자 N개를 배열에 담음 for (int i = 0 ; i < val.length();..
![[백준8958] OX퀴즈](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXT5Ts%2FbtrPUm6Kuw8%2FC90u8Uq7IIjaEjax2d0Vnk%2Fimg.png)
[백준8958] OX퀴즈
8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 풀이 더보기 ※ ==연산자(주소값비교), equals() 메소드(값비교) 차이 int와 boolean과 같은 일반적인 데이터 타입의 비교는 == 연산자를 통해 비교 가능 하지만, String처럼 Class의 값을 비교할때는 equals()메소드를 사용해야한다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new..