1. 문제 설명 한 개의 문자열을 입력받고, 특정 문자를 입력받아 해당 특정문자가 입력받은 문자열에 몇 개 존재하는지 알아내는 프로그램을 작성하세요. 대소문자를 구분하지 않습니다.문자열의 길이는 100을 넘지 않습니다. 입력 첫 줄에 문자열이 주어지고, 두 번째 줄에 문자가 주어진다. 문자열은 영어 알파벳으로만 구성되어 있습니다. 출력 첫 줄에 해당 문자의 개수를 출력한다. 예시입력 Computercooler c 예시출력 2 2. 결과 package topic01_01; import java.util.Scanner; public class Main { public int solution(String str, char c){ int answer = 0; str = str.toUpperCase(); //문자..
1. 학습 주제 : 접근제어자, 추상클래스, 상속, 오버라이딩, 인터페이스 이해하기 ✔️접근제어자 - private : 해당 클래스 내에서만 접근 가능 - public : 모든 클래스에서 접근 가능 - default : (아무것도 적지 않았을 때) 같은 패키지 내에서만 접근 가능 - protected : 같은 패키지 내에서, 다른 패키지인 경우 자식 클래스에서 접근 가능 ( 상속 개념을 알아야함 ) ✔️추상클래스 - 추상 클래스는 하나 이상의 추상 메서드를 포함하거나 단순히 상속을 위해 추상적으로 선언될 수 있는 클래스다. - 클래스 선언에 'abstract' 키워드를 사용하여 추상 클래스를 정의한다. - 추상 클래스는 직접 인스턴스화 될 수 없다. ( Abstract abs = new Abstract ..
1. 학습 주제: 객체지향적 사고로 JAVA 프로그래밍하기 ✔️역할을 기준으로 객체를 분류한다. ✔️ 객체는 단일책임원칙을 지켜야한다. ✔️ 데이터 정보를 외부에서 다른 객체가 획득하지 못하도록 한다. (외부 객체가 획득하게 되면 변화에 민감해짐. 유지보수 비용 높아짐) ✔️ 객체가 가지고 있는 메소드는 외부 객체가 이용할 기능을 제공한다. (재사용이 높을 수록 메소드를 정의할 필요성이 높아짐) ✔️ 메소드를 언제 쓸지 모르고 객체에 메소드를 많이 정의하는 경우, 객체가 무거워진다. ✔️ 메소드를 전부 정의할 수는 없음. 설계단계에서 적당한 선을 고민해봐야함. ✔️클래스는 최소한으로 설계하되, 최대한 재사용하도록 한다. 2. 과제 1) 구매횟수에 따라 누적 포인트 점수 계산하기. - 3회 미만 : 구매횟..
https://www.acmicpc.net/problem/2644 2644번: 촌수계산사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어www.acmicpc.net 테스트 케이스결과6 1 5 5 1 2 2 3 2 4 4 5 4 63 1. DFS 풀이법 (깊이 우선 탐색)포인트depth를 카운트 해야한다. 처음에 모든 노드의 수를 count하는 코드를 짜서 틀렸었다.dfs[idx]에 count 정보가 함께 들어가도록 코드를 짜야한다.dfs함수를 타는 횟수에 따라 count가 매번 증가하는 게 아니라서다른 dfs함수가 먼저 돌았든 말든 상관없다!..
요즘 iBatis를 Mybatis로 바꾸는 작업을 많이 하고 있습니다. ParameterMap은 쿼리실행을 위한 파라미터를 매핑할 때 사용합니다. 최근엔 사용하지 않는 방식입니다. * 기존 iBatis 방식 [▽iBatis에서 ParameterMap을 사용하는 예시] * 개선된 Mybatis 방식 Mybatis에서는 이전보다 개선된 방식을 사용합니다. [▽Mybatis에서 ParameterMap을 대체하는 예시] SELECT * FROM PERSON WHERE ID = #{id} parameterType 속성을 사용하면 parameterMap을 사용할 필요없이 각 프로퍼티를 자동으로 바인딩해줍니다. (※참고로 parameterType은 구문에 전달될 파라미터의 패키지 경로를 포함한 전체 클래스명이나 별칭..