본문 바로가기
컴퓨터구조 4주차 BCD 코드 10진수 1자리를 2진수 4Bit로, 8421 코드라고도 한다 137 BCD로 하면 0001 0011 0111 표준 BCD 코드 - 존 비트2개 + BCD 코드 대문자, 숫자만 가능하다 숫자는 1~9 다음 0 이 온다고 생각하는게 편하다 1 이 00 0001, 9가 00 1001 이고 0이 00 1010 이다 EBCDIC Zone2를 보고 숫자를 적으면 되는 것 같다 아스키코드 문자 A는 100 0001 부터 올라가서 O는 100 1111이 되고 그 이상부터인 P부터는 101 0000 부터 올라간다 문자 a는 110 0001 부터 올라가서 z는 111 1010이 된다 숫자 0 - 110000, 숫자 9 - 111001 Excess-3 (3초과 코드) bcd 코드에 3을 더한다 6(0110)을.. 2024. 3. 30.
백준 6236 용돈관리 (매개변수 탐색) 문제 현우는 용돈을 효율적으로 활용하기 위해 계획을 짜기로 하였다. 현우는 앞으로 N일 동안 자신이 사용할 금액을 계산하였고, 돈을 펑펑 쓰지 않기 위해 정확히 M번만 통장에서 돈을 빼서 쓰기로 하였다. 현우는 통장에서 K원을 인출하며, 통장에서 뺀 돈으로 하루를 보낼 수 있으면 그대로 사용하고, 모자라게 되면 남은 금액은 통장에 집어넣고 다시 K원을 인출한다. 다만 현우는 M이라는 숫자를 좋아하기 때문에, 정확히 M번을 맞추기 위해서 남은 금액이 그날 사용할 금액보다 많더라도 남은 금액은 통장에 집어넣고 다시 K원을 인출할 수 있다. 현우는 돈을 아끼기 위해 인출 금액 K를 최소화하기로 하였다. 현우가 필요한 최소 금액 K를 계산하는 프로그램을 작성하시오. 입력 1번째 줄에는 N과 M이 공백으로 주어진.. 2024. 3. 28.
모바일로봇 4주차 오늘한거 시험에 나온다 중간고사에 오늘쓴거 나온다 2024. 3. 27.
백준 2805 나무자르기 (매개변수 탐색) 파라메트릭 서치 : 이분탐색과 비슷하나 범위 값 중에서 찾는 방법 l = 0, r = 가능한 최대 값으로 하고 범위를 이분탐색처럼 좁혀가면서 가능한 값을 찾는다 문제 상근이는 나무 M미터가 필요하다. 근처에 나무를 구입할 곳이 모두 망해버렸기 때문에, 정부에 벌목 허가를 요청했다. 정부는 상근이네 집 근처의 나무 한 줄에 대한 벌목 허가를 내주었고, 상근이는 새로 구입한 목재절단기를 이용해서 나무를 구할것이다. 목재절단기는 다음과 같이 동작한다. 먼저, 상근이는 절단기에 높이 H를 지정해야 한다. 높이를 지정하면 톱날이 땅으로부터 H미터 위로 올라간다. 그 다음, 한 줄에 연속해있는 나무를 모두 절단해버린다. 따라서, 높이가 H보다 큰 나무는 H 위의 부분이 잘릴 것이고, 낮은 나무는 잘리지 않을 것이다.. 2024. 3. 27.
백준 2417 정수 제곱급 문제 정수가 주어지면, 그 수의 정수 제곱근을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정수 n이 주어진다. (0 ≤ n < 263) 출력 첫째 줄에 q2 ≥ n인 가장 작은 음이 아닌 정수 q를 출력한다. 예제 입력 1 복사 122333444455555 예제 출력 1 복사 11060446 풀이 단위가 커서 long 자료형을 사용햇고 m이 value의 제곱근 이상인 경우는 m이 더 커지면 무조건 value의 제곱근 보다 크니 r을 줄이고 작으면 m보다 작은 값은 절대 value의 제곱근 보다 클 수 없으니 l을 m+1 하면서 이분탐색 했다 import java.awt.*; import java.io.IOException; import java.util.Arrays; import java.util.S.. 2024. 3. 27.
백준 28470 문제 복서 성우는 항상 공격과 회피를 연속적으로 한다. 슥~빡! 빡~슥! 즉, 피하고 때리거나, 때리고 피한다. 어느 날, 복서 성우는 숙명의 라이벌 성준이와 복싱 경기를 치르게 되었다. 이 경기에서 성우는 오직 N번의 공격-회피 연속 동작을 통해 성준을 상대할 예정이다. 성우는 매 공격-회피 연속 동작 시의 체내 아드레날린 변화량을 정확히 알고 있다. i번째 공격-회피 연속 동작 상황에서, 공격 시에는 체내 아드레날린이 A_i만큼 증가하고, 회피 시에는 체내 아드레날린이 B_i만큼 감소한다. 또한 i번째 공격-회피 연속 동작 상황에서, 공격을 먼저 한다면, 공격 시 체내 아드레날린 증가량이 A_i에서A_i * K_i로 바뀌고, 회피를 먼저 한다면, 회피 시 체내 아드레날린 감소량이 B_i에서B_i * .. 2024. 3. 24.
백준 10816 (map) 문제 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 몇 개 가지고 있는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,000,000보다 작거나 같다. 셋째 줄에는 M(1 ≤ M ≤ 500,000)이 주어진다. 넷째 줄에는 상근이가 몇 개 가지고 있는 숫자 카드인지 구해야 할 M개의 정수가 주어지며, 이 수는 공백으로 구분되어져 있다. 이 수도 -10,000,000보다 크거나 같고, 10,0.. 2024. 3. 24.
백준 2467(이분탐색) 문제 KOI 부설 과학연구소에서는 많은 종류의 산성 용액과 알칼리성 용액을 보유하고 있다. 각 용액에는 그 용액의 특성을 나타내는 하나의 정수가 주어져있다. 산성 용액의 특성값은 1부터 1,000,000,000까지의 양의 정수로 나타내고, 알칼리성 용액의 특성값은 -1부터 -1,000,000,000까지의 음의 정수로 나타낸다. 같은 양의 두 용액을 혼합한 용액의 특성값은 혼합에 사용된 각 용액의 특성값의 합으로 정의한다. 이 연구소에서는 같은 양의 두 용액을 혼합하여 특성값이 0에 가장 가까운 용액을 만들려고 한다. 예를 들어, 주어진 용액들의 특성값이 [-2, 4, -99, -1, 98]인 경우에는 특성값이 -99인 용액과 특성값이 98인 용액을 혼합하면 특성값이 -1인 용액을 만들 수 있고, 이 용액.. 2024. 3. 22.
컴구 3주차 비트, 바이트 킬로 - 메가 - 기가 - 테라ㅣ 워드- cpu가 한번에 처리 가능한 데이터 크기 하프워드 - 절반, 풀워드 - 1배, 더블 2 이진수 0b1001 = 1001(2) = 9 이진수 음수 표현 -> 뒤집고 +1 16진수 0x15 = 15(16) 2-> 16 변환 오른쪽부터! 4자리씩 묶어서 이어붙이기 1101 0101 -> D5 011 1101 0101 를 16진수로 변환하면 3D5 16 -> 2 변환 D5 를 자리수마다 4비트 이진수로 변환 D = 1101 , 5 = 0101 해서 이진수로는 1101 0101 2024. 3. 22.
자바프로그래밍 3주차 강제 타입변환 long + float 타입일때 long을 (int)로 강제 형변환하고 + float하면 int + float로 처리되서 값은 float로 나온다 (char)0x12340041 -> 강제 타입 결과 0x41이 되고 10진수로 바꾸면 65 가 되서 'A'를 리턴 16진수 - 2진수 변환하기 각 자리수마다 4자리 2진수로 변환 0x55ff 은 0101 0101 1111 1111 이다 대입연산자 우선순위 오른쪽부터 a= 5 a= b = 10 하면 a,b 둘다 1- 2024. 3. 21.
2295 세수의 합(set, 누적합) 문제 N(5 ≤ N ≤ 1,000)개의 자연수들로 이루어진 집합 U가 있다. 이 중에서 적당히 세 수를 골랐을 때, 그 세 수의 합 d도 U안에 포함되는 경우가 있을 수 있다. 이러한 경우들 중에서, 가장 큰 d를 찾으라. 예를 들어 {2, 3, 5, 10, 18}와 같은 집합이 있다고 하자. 2+3+5 = 10이 되고, 이 수는 집합에 포함된다. 하지만 3+5+10 = 18이 되고, 이 경우가 세 수의 합이 가장 커지는 경우이다. 입력 첫째 줄에 자연수 N이 주어진다. 다음 N개의 줄에 차례로 U의 원소가 하나씩 주어진다. 주어진 U는 집합이 되므로 입력되는 두 수가 같아서는 안 된다. U의 원소는 200,000,000보다 작거나 같은 자연수이다. 답이 항상 존재하는 경우만 입력으로 주어진다. 출력 우.. 2024. 3. 21.
빈 관련 어노테이션 @component - 특정 클래스에 빈 생성하는 어노테이션, 아래 어노테이션들은 좀 더 구체적인 어노테이션이다 클래스에 용도에 맞게 사용하는 구체적인 어노테이션 @Service - 비즈니스 클래스 @Controller - 컨트롤러에 사용 @Repository - 데이터베이스와 통신하는 클래스 @Configuration은 클래스가 @Bean 메서드를 하나 이상 선언함을 나타낸다. @Configuration은 자바 설정 파일을 만드는데 사용한다 @Configuration 이 있는 클래스에 @Bean 메서드를 정의하면 메서드에서 반환되는 모든 값에 스프링이 빈을 생성한다 @ComponentScan은 컴포넌트를 스캔할 패키지를 정의하고 @Component가 붙은 클래스를 스프링 빈으로 만든다 2024. 3. 20.
PostConstruct, PreDestroy @PostConstruct - 의존성 주입이 이루어진 후 실행되는 메서드에 사용, db에서 데이터 불러올때 등에 사용 @PreDestroy - 빈이 삭제되기 전에 사용, 종료 전에 데이터 저장할 때 등에 사용 package udemy.learnspring.singleton; import jakarta.annotation.PostConstruct; import jakarta.annotation.PreDestroy; import org.springframework.beans.factory.config.ConfigurableBeanFactory; import org.springframework.context.annotation.*; import org.springframework.stereotype.Compo.. 2024. 3. 20.
싱글톤, 프로토타입 • 자바 싱글톤과 스프링 싱글톤 차이 스프링 싱글톤은 스프링 IoC 컨테이너당 객체 인스턴스가 하나 자바 싱글톤은 JVM당 인스턴스가 하나 • 싱글톤과 프로토타입 차이 기본적으로 스프링에서 생성되는 빈들은 싱글톤이다 빈을 여러번 호출해도 같은 인스턴스를 가져온다 @Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE) 빈 위에 이렇게 Scope 어노테이션을 붙이면 프로토타입 객체로 생성되어서 빈을 가져올때마다 다른 인스턴스를 가져온다 @Component class NormalClass{ } @Component @Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE) class PrototypeClass{ } @Confi.. 2024. 3. 20.
지연 초기화, 즉시 초기화 스프링의 기본 초기화는 즉시 초기화지만 어노테이션을 이용해서 초기화 시간을 조정할 수 있다 지연초기화를 쓸 일이 거의 없다고는 하지만 알아놓자 @Component class classA{ public classA(){ System.out.println("class a!"); } } @Component class classB{ private classA classA; public classB(classA classA){ System.out.println("some logic"); this.classA = classA; } } @Configuration @ComponentScan public class LazyInitializtion { public static void main(String[] args) .. 2024. 3. 20.
백준 14425 이분탐색, set 문제 총 N개의 문자열로 이루어진 집합 S가 주어진다. 입력으로 주어지는 M개의 문자열 중에서 집합 S에 포함되어 있는 것이 총 몇 개인지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어진다. 입력으로 주어지는 문자열은 알파벳 소문자로만 이루어져 있으며, 길이는 500을 넘지 않는다. 집합 S에 같은 문자열이 여러 번 주어지는 경우는 없다. 출력 첫째 줄에 M개의 문자열 중에 총 몇 개가 집합 S에 포함되어 있는지 출력한다. 예제 입력 1 복사 5 11 baekjoononlinejudge start.. 2024. 3. 20.
백준 1920 (이진탐색, set) 문제 N개의 정수 A[1], A[2], …, A[N]이 주어져 있을 때, 이 안에 X라는 정수가 존재하는지 알아내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들이 A안에 존재하는지 알아내면 된다. 모든 정수의 범위는 -231 보다 크거나 같고 231보다 작다. 출력 M개의 줄에 답을 출력한다. 존재하면 1을, 존재하지 않으면 0을 출력한다. 예제 입력 1 복사 5 4 1 5 2 3 5 1 3 7 9 5 예제 출력 1 복사 1 1 0 0 1 set을 이용하면 입력을 set에 담고 .. 2024. 3. 18.
백준 19951 (누적합) 문제 2020년 5월 14일 논산훈련소에 입대한 태상이는 첫 총기 훈련에서 가스 조절기를 잃어버리는 중대한 실수를 범했다. 그로 인해, 태상이는 조교들에게 눈총을 받게 되었다. 조교들은 태상이에게 연병장(운동장)의 흙을 옮기는 일을 주고 제대로 수행하지 못하면 징계를 내리려고 한다. 연병장은 일렬로 이어진 N개의 칸으로 이루어져 있으며 각 칸마다 높이를 가지고 있고, 첫 번째 칸부터 순서대로 1번, 2번, 3번, ..., N번 칸으로 명칭이 붙어있다. 조교들은 총 M명이 있으며, 각 조교들은 태상이에게 a번 칸부터 b번 칸까지 높이 k만큼 흙을 덮거나 파내라고 지시한다. 흙은 주변 산에서 얼마든지 구할 수 있으므로 절대로 부족하지 않다. 태상이는 각 조교의 지시를 각각 수행하면, 다른 조교의 지시로 흙을.. 2024. 3. 17.
정처기 데베과목 3 create table patient( id char(5) primary key, name char(10), sex char(1), phone char(20), constraint sex_ck check(sex in('f','m')), constraint id_fk foreign key(id) references doctor(doc_id) ); 4 create table Instructor( id char(5) primary key, name char(15) not null, dept char(15) references Department(dept) on delete set null on update cascade ); 5 속성 추가 alter table patient add job char(20);.. 2024. 3. 12.
백준 18870 좌표압축 문제 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표 Xj의 개수와 같아야 한다. X1, X2, ..., XN에 좌표 압축을 적용한 결과 X'1, X'2, ..., X'N를 출력해보자. 입력 첫째 줄에 N이 주어진다. 둘째 줄에는 공백 한 칸으로 구분된 X1, X2, ..., XN이 주어진다. 출력 첫째 줄에 X'1, X'2, ..., X'N을 공백 한 칸으로 구분해서 출력한다. 제한 1 ≤ N ≤ 1,000,000 -109 ≤ Xi ≤ 109 예제 입력 1 복사 5 2 4 -10 4 -9 예제 출력 1 복사 2 3 0 3 1 예제 입력 2 복사 6 1000 999 10.. 2024. 3. 12.