코드 20

[C언어] 백준 10773 : 제로

백준 10773 : 제로 문제 링크 https://www.acmicpc.net/problem/10773 10773번: 제로 문제 나코더 기장 재민이는 동아리 회식을 준비하기 위해서 장부를 관리하는 중이다. 재현이는 재민이를 도와서 돈을 관리하는 중인데, 애석하게도 항상 정신없는 재현이는 돈을 실수로 잘못 �� www.acmicpc.net 문제 내용 (요약) 0에서 1,000,000 사이의 값을 입력받다가 정수가 "0"일 경우 가장 최근에 쓴 수를 지우고, 아닐 경우 해당 수를 쓴다. 최종적으로 남은 수의 합을 구한다. Idea 0을 입력받은 경우 가장 최근의 수를 지워야 하므로 LIFO 형식이다. 이는 스택을 활용하면 쉽게 구현이 가능하다. 0을 입력받으면 pop 그 외 숫자 push Code 1 2 3..

백준 Baekjoon 2020.07.27

[JAVA] 오버로딩과 오버라이딩

오버로딩 Overloading과 오버라이딩 Overriding : 오버로딩과 오버라이딩은 자바에서 다형성을 이루는 방법들이다. 오버로딩 Overloading 한 클래스나 상속 관계에 있는 클래스들에 메소드의 이름은 같지만, 매개변수 타입이나 개수, 리턴 타입을 다르게 하여 메소드를 작성하는 방법. *변수명이 다르더라도 매개변수의 타입과 개수가 같다면 같은 메소드로 취급하기 때문에 오류가 난다. - 예제 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 class Book { void info(String title) { System.out.println("책 제목 : "+title+"\t저자 : 작가미상"); } void info(String title, String aut..

[C언어] 백준 1978 : 소수 찾기

백준 1978 : 소수 찾기 문제 링크 https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 문제 내용 주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오. Idea 소수란 약수가 자기자신과 1만 있는 수를 의미한다. 반복문을 사용하여 2부터 num까지 num의 약수가 있는지를 확인하고 없다면 cnt에 더해준다. Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include int main() { int N, num, cnt = 0; scanf("%..

백준 Baekjoon 2020.07.24

[정렬] 선택 정렬 Selection Sort

선택 정렬 Selection Sort 선택 정렬이란? 최소 혹은 최댓값부터 찾아 정렬하는 방법 다른 정렬들에 비해 비교적 쉽게 구현이 가능하다. (오름차순일 때) 첫 인덱스부터 정렬하는 방법으로 기준으로부터 오른쪽 값들과 비교하여 가장 작은 수를 찾아 값을 교환한다. -핵심코드 1) A와 B의 값을 교환 tmp = A; A = B; B = tmp; 2) for문의 범위 설정 for( i=0; i < SIZE -1; i++){ for( j=i+1 < SIZE; j++){ ... } } 바깥 for 문 현재 기준 인덱스를 가리키는 역할 범위는 SIZE-1까지(SIZE-1까지 정렬하면 마지막은 정해지기 때문) 내부 for 문 최소(혹은 최대) 값을 찾는 역할 범위는 기준+1부터 SIZE까지 정렬 예시 선택 정..

알고리즘/정렬 2020.07.22

[C언어] 백준 10809 : 알파벳 찾기

백준 10809 : 알파벳 찾기 문제 링크 https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 문제 내용 (요약) 길이가 최대 100인 단어를 입력받아 각각의 알파벳에 대해서 처음 등장하는 위치를 공백으로 구분하여 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다. Idea 이 문제는 한 문장의 알파벳 빈도수를 구하는 알고리즘을 할 줄..

백준 Baekjoon 2020.07.22

[C언어] 백준 2902 : KMP는 왜 KMP일까?

백준 2902 : KMP는 왜 KMP일까? 문제 링크 https://www.acmicpc.net/problem/2902 2902번: KMP는 왜 KMP일까? 문제 KMP 알고리즘이 KMP인 이유는 이를 만든 사람의 성이 Knuth, Morris, Prett이기 때문이다. 이렇게 알고리즘에는 발견한 사람의 성을 따서 이름을 붙이는 경우가 많다. 또 다른 예로, 유명한 비대칭 www.acmicpc.net 문제 내용 (요약) 입력받은 이름의 첫번째 글자만 엮서 새로 출력한다. 입력은 한 줄로 이루어져 있고, 최대 100글자의 영어 알파벳 대문자, 소문자, 그리고 하이폰으로만 이루어져 있다. 첫 번째 글자는 항상 대문자이다. 그리고, 하이픈 뒤에는 반드시 대문자이다. 그 외의 모든 문자는 소문자이다. ex) K..

백준 Baekjoon 2020.07.22

[C언어] 백준 2822 : 점수 계산

백준 2822 : 점수 계산 문제 링크 https://www.acmicpc.net/problem/2822 2822번: 점수 계산 문제 상근이는 퀴즈쇼의 PD이다. 이 퀴즈쇼의 참가자는 총 8개 문제를 푼다. 참가자는 각 문제를 풀고, 그 문제를 풀었을 때 얻는 점수는 문제를 풀기 시작한 시간부터 경과한 시간과 난이도로 결 www.acmicpc.net 문제 내용 (요약) 참가자는 총 8개의 문제를 푼다. 이 때, 참가자의 총 점수는 가장 높은 점수 5개의 합이다. 첫째 줄에는 참가자의 총점을 출력하고, 둘째 줄에는 어떤 문제가 최종 점수에 포함되었는지를 공백으로 구분하여 출력한다. 출력은 문제 번호가 증가하는 순서이어야 한다. Idea 이 문제를 풀기위해서는 점수가 높은 5문제의 합과 문제 번호가 필요하다..

백준 Baekjoon 2020.07.21

[C언어] 백준 6378 : 디지털 루트

백준 6378 : 디지털 루트 문제 링크 https://www.acmicpc.net/problem/6378 6378번: 디지털 루트 문제 양의 정수 N의 디지털 루트를 구하려면 N을 이루고 있는 모든 자리수를 더해야 한다. 이때, 더한 값이 한 자리 숫자라면, 그 수가 N의 디지털 루트가 된다. 두 자리 이상 숫자인 경우에는 다�� www.acmicpc.net 문제 내용 (요약)양의 정수 N의 디지털 루트를 구하려면 N을 이루고 있는 모든 자리수를 더해야 한다. 이때, 더한 값이 한 자리 숫자라면, 그 수가 N의 디지털 루트가 된다. 두 자리 이상 숫자인 경우에는 다시 그 수를 이루고 있는 모든 자리수를 더해야하며, 한 자리 숫자가 될 때 까지 반복한다. 양의 정수 N이 주어졌을 때, 그 수의 디지털 루..

백준 Baekjoon 2020.07.21

[C언어] 백준 4659 : 비밀번호 발음하기

백준 4659 : 비밀번호 발음하기 문제 링크 https://www.acmicpc.net/problem/4659 4659번: 비밀번호 발음하기 문제 좋은 패스워드를 만드는것은 어려운 일이다. 대부분의 사용자들은 buddy처럼 발음하기 좋고 기억하기 쉬운 패스워드를 원하나, 이런 패스워드들은 보안의 문제가 발생한다. 어떤 사이트들�� www.acmicpc.net 문제 내용 (요약) 입력받은 패스워드에 대해 품질을 평가한다. 높은 품질을 가진 비밀번호의 조건은 다음과 같다. 모음(a, e, i, o ,u) 하나를 반드시 포함하여야 한다. 모음이 3개 혹은 자음이 3개 연속으로 오면 안된다. 같은 글자가 연속적으로 두번 오면 안되나, ee와 oo는 허용한다. end를 입력하면 프로그램을 종료한다. Idea 이..

백준 Baekjoon 2020.07.21

[C언어] 백준 1712 : 손익분기점

백준 1712 : 손익분기점 문제 링크 https://www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www.acmicpc.net 문제 내용 (요약) 노트북을 제조하고 판매하는데 A의 고정비용과 한 대의 노트북을 생산하는데 필요한 재료비, 인건비 등을 포함한 B만원의 가변 비용이 든다. 노트북 가격을 C만원이라고 할 때 손익분기점(BREAK-EVEN POINT)을 구하시오. Idea 최초로 이익이 발생하는 판매량을 찾는 문제로, A(고정비용) + B(가변비용) * x(판매량) < C(노트북 ..

백준 Baekjoon 2020.07.19