www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그리디 알고리즘 정렬 ⊙ 문제 접근 과정 그리디 알고리즘이다. 그리디 알고리즘은 배열을 하면 손쉽게 풀 수 있다. 값을 입력받고 오름차순으로 정리한 뒤에 순서대로 result 변수에 값을 넣어주고 값을 도출해냈다. ⊙ 문제 풀이 #include #include #include using namespace std; int main() { vector vec; int N; int to..
www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 구현 문자열 ⊙ 문제 접근 과정 배열에 크로아티아 알파벳을 넣어주고 입력받은 문자열에 있는지 없는지 찾아줬다. 있다면 다른 하나의 문자로 변경해주고 마지막에는 변경된 입력받은 문자열의 길이를 출력해주었다. string::npos는 find() 함수에서 찾는 단어나 문자열이 없으면 나오는 리턴 값이다. ⊙ 문제 풀이..
www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 구현 정렬 ⊙ 문제 접근 과정 헤더 파일, 헤더 파일에 있는 sort와 vector를 이용하여 오름차순 정렬을 했다. 그다음 for each문을 이용하여 출력해줬다. ⊙ 문제 풀이 #include #include #include using namespace std; int main() { int a; cin >> a; int input[a]; vector ..
www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 다이나믹 프로그래밍 ⊙ 문제 접근 과정 제한시간 때문에 상당히 애쓴 문제다. 정상적으로 출력되는데 시간 초과가 떠서 cin, cout을 printf와 scanf로 바꿨다. 그래도 시간 초과가 떴다. 내 첫 번째 풀이다. (시간 초과) #include using namespace std; int count_zero = 0; int count_one = 0; int fibonacci(int n) { if (n == 0) { count_zero++; r..
www.acmicpc.net/problem/10870 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 수학 다이나믹 프로그래밍 ⊙ 문제 접근 과정 어머나, 문제에 정답이 적혀있다. F(n) = F(n-1) + F(n-2) // (n>=2) 코드로 그대로 옮기자 ⊙ 문제 풀이 #include using namespace std; int def(int n) { if (n==0) { return 0; } else if..
www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 다이나믹 프로그래밍 ⊙ 문제 접근 과정 3,4개 정도를 직접 풀어보면서 규칙을 찾고 점화식을 만들면 된다. 1-> 1 2-> 2 3-> 4 4-> 7 5-> 13 점화식으로 표현하면 solution(n) = solution(n-1) + solution(n-2)+ solution(n-3) //(n>3) ⊙ 문제 풀이 t= int(input()) def solution(n): if n==1: return 1 elif n==2: return 2 elif ..
www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그래프 이론 그래프 탐색 너비 우선 탐색 ⊙ 문제 접근 과정 오늘 스터디에서 공부한 BFS를 적용해서 풀었다. BFS는 Breadth First Search이다. 넓이 우선 탐색, 그래프 탐색 중 하나이다. 가장 짧은, 가장 빠른과 같은 것을 물어보면 BFS를 생각하자. 그리고 파이썬에서 queue는 반드시 deque를 사용..
⊙ 문제 다음과 같이 Human 인터페이스와 Human 구현 클래스인 Worker가 있다. interface Human { void eat(); } class Worker implements Human { public void eat() { System.out.println("빵을 먹습니다."); } } Worker 클래스는 이미 다른 프로젝트에서 사용 중이다. 그런데 Human 인터페이스를 구현한 Student 클래스에는 print() 메서드가 필요하다. 또 Human 타입으로 사용할 때도 echo() 메서드가 필요하다. 따라서 다음과 같은 테스트 프로그램을 실행하고자 한다. Human 인터페이스, Worker 클래스에 수정할 부분이 있으면 수정하고, Student 클래스도 작성하시오. public c..
⊙ 문제 어떤 프린터 용지를 사용했는지 점검하려고 다음 프로그램을 작성했다. Call 클래스를 완성하시오. interface Printable { } class A4 implements Printable { public void a() { System.out.println("A4"); } } class B4 implements Printable { public void b() { System.out.println("B4"); } } class Call { //코드 추가 } public class PrintableTest { public static void main(String[] args) { Printable p = new B4(); Call c = new Call(); c.invoke(p); } }..
⊙ 문제 다음 표와 같은 멤버를 가진 Controller 추상 클래스가 있다. TV와 Radio 클래스는 Controller의 구현 클래스이다. Controller, TV, Radio 클래스를 작성하시오. 그리고 ControllerTest 프로그램으로 테스트하시오. 필드 boolean power 메서드 void show() 추상 메서드 String getName() ⊙ 문제 접근 과정 부모 Controller 자식 TV, Radio class 구현 ⊙ 문제 풀이 abstract class Controller { boolean power; public Controller(boolean power) { this.power = power; } void show() { if (power==true) System..
- Total
- Today
- Yesterday
- 쉽게배우는
- 프로그래머스
- 자바
- Python
- 구현
- java
- 쉽게 배우는 자바 프로그래밍
- 풀이
- 자바스크립트
- JS
- 연습문제
- 운영체제
- Web
- 해답
- OS
- 쉽게배우는자바프로그래밍
- 우종정
- py
- 알고리즘
- 정렬
- 백준
- BFS
- 답
- 그리디
- 정리
- 정답
- C++
- CPP
- 파이썬
- 문자열
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |