본문 바로가기

전체 글

(265)
백준1021 - 회전하는 큐 https://www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 순서대로 주어진다. 위치는 1보다 크거나 같고, N보다 작거나 같은 자연수이다. www.acmicpc.net 문제에서 회전한다는 힌트를 주어서 deque를 이용하였다. 지우려는 위치에서 처음 값에서의 차와 마지막 값에서의 차를 이용하여 처음 값과 가까우면 2번을 수행하고 마지막 값과 가까우면 3번을 수행하게 하였다. ex) 5 5 4 2 3 1 5 1. 4 삭제 -> 2번 5 1 2 3 4 4 5 1 2 3 5 1 2 3..
백준1238 - 파티 https://www.acmicpc.net/problem/1238 1238번: 파티 문제 N개의 숫자로 구분된 각각의 마을에 한 명의 학생이 살고 있다. 어느 날 이 N명의 학생이 X (1 ≤ X ≤ N)번 마을에 모여서 파티를 벌이기로 했다. 이 마을 사이에는 총 M개의 단방향 도로들이 있고 i번째 길을 지나는데 Ti(1 ≤ Ti ≤ 100)의 시간을 소비한다. 각각의 학생들은 파티에 참석하기 위해 걸어가서 다시 그들의 마을로 돌아와야 한다. 하지만 이 학생들은 워낙 게을러서 최단 시간에 오고 가기를 원한다. 이 도로들은 단방향이기 때 www.acmicpc.net N명의 사람들이 X번의 마을에서 파티가 있어 파티에 참여한다. 파티에 참여 후 집까지 돌아가는 시간을 계산한다. 가장 집까지 돌아가는데 시간..
4. 제어문과 반복문 제어문은 사용자가 원하는 조건에 해당하는 경우 특정 명령을 수행하고 싶을 때 사용한다. 제어문의 구성으로는 if문과 switch문이 있다. 우선 if문을 알아보자. if문의 구성은 다음과 같다. if(원하는 조건) { 조건에 맞는 명령을 수행 } else if(원하는 조건) { 조건에 맞는 명령을 수행 } else { 조건에 맞는 명령을 수행 } if와 else if는 조건을 가지지만 else는 조건을 가지지 않는다는 점을 기억하자. import java.util.Scanner; public class if_ex { public static void main(String[] args) { System.out.println("평점을 입력하세요"); Scanner sc = new Scanner(System...
3. 연산자 자바의 연산자는 다른 언어의 연산자와 똑같이 사용한다. 한가지 유의해야 할 점은 전위 연산자와 후위 연산자의 사용시 차이점이다. 전위 연산자와 후위 연산자가 단독으로 사용할 시 결과값이 같지만 다른 기능과 겹쳐 사용한다면 결과값이 달라진다. 전위 연산자는 현재 있는 값을 변화시킨 후 다른 기능에 적용시킨다. 후위 연산자는 현재 있는 값을 유지시킨 후 다른 기능에 적용한 다음 현재 값을 변화시킨다. public class operators_ex { public static void main(String[] args) { int a = 10; int b = 20; double c = 3.14; double d = 2.31; System.out.println("---산술 연산자---"); System.out...
백준15953 - 상금 헌터 https://www.acmicpc.net/problem/15953 15953번: 상금 헌터 첫 번째 줄에 제이지가 상상력을 발휘하여 가정한 횟수 T(1 ≤ T ≤ 1,000)가 주어진다. 다음 T개 줄에는 한 줄에 하나씩 제이지가 해본 가정에 대한 정보가 주어진다. 각 줄에는 두 개의 음이 아닌 정수 a(0 ≤ a ≤ 100)와 b(0 ≤ b ≤ 64)가 공백 하나를 사이로 두고 주어진다. www.acmicpc.net 카카오 2018년도 예선문제이다. 각 조건을 나누어 풀어주면 되는 문제이다. 입력한 등수가 몇번째 상금인지 계산해주면 된다. #include using namespace std; int main() { int T; //반복 횟수 cin >> T; while (T--) { int a, b;..
2. 자료형 프로그래밍의 기초인 자료형에 대해 알아보자 자바는 크게 기초자료형과 객체 자료형이 존재한다. 기초자료형은 java의 이미 존재하는 데이터 타입이다. 객체 자료형은 여러가지 데이터들이 모여있는 데이터로 기본자료형보다 크기가 크다 여기서는 기초자료형을 다룰 것이다. 자바의 기초자료형은 데이터 타입을 기준을 크게 4가지로 분류한다. 정수 : byte, short, int, long 실수 : float, double 문자 : char 참과 거짓 : boolean 자료형 크기 표현 범위 byte 1byte - 2^7 ~ 2^7 - 1 short 2byte - 2^15 ~ 2^15 - 1 int 4byte - 2^31 ~ 2^31 - 1 long 8byte - 2^63 ~ 2^63 - 1 float 4byte - ..
백준9461 - 파도반 수열 https://www.acmicpc.net/problem/9461 9461번: 파도반 수열 문제 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 길이를 k라 했을 때, 그 변에 길이가 k인 정삼각형을 추가한다. 파도반 수열 P(N)은 나선에 있는 정삼각형의 변의 길이이다. P(1)부터 P(10)까지 첫 10개 숫자는 1, 1, 1, 2, 2, 3, 4, 5, 7, 9이다. N이 주어졌을 때, P(N)을 구하 www.acmicpc.net DP문제이다. 수열의 5번째 항까지 규칙이 적용되지 않은채 정해진 값이 들어간다. 수열의 6번째 항부터는 바로 전번째 항 더하기 구하..
1. 자바 시작하기 웹 개발을 공부하기 앞서서 자바를 공부하기로 하였다. 자바는 1990년대 말 인터넷의 등장으로 사람들의 관심을 얻기 시작하였다. 자바의 특징은 다음과 같다. 1. 자바는 Virtual Machine이 있어 운영체제의 영향을 받지 않는다. 2. 자바는 가비지 콜렉터가 있어 개발자가 메모리 관리를 하지 않아도 된다. 3. 자바는 객체 지향언어로 개발과 유지보수를 효율적 진행 할 수 있다. 4. 자바는 멀티스레드를 쉽게 구현할 수 있다. 5. 자바는 동적 로딩을 지원한다. 자바의 프로그래밍 환경설정과 실행 방법은 다음과 같다. .java : 코딩문서의 확장자, 컴퓨터가 못 알아듣는 상태 .class : 번역기, 컴퓨터가 못 알아듣는 문서파일을 컴퓨터가 알아듣는 상태로 변환 JVM : 운영체제의 맡게 변환해주는..