절차지향의 중복된 코드사용과 유지보수의 어려움으로 함수가 나왔다는 것을 지난 시간에 배웠다. 하지만 시간이 지날수록 함수도 온전히 이러한 문제점을 해결해주지 못했다. 이러한 이유로 객체지향개념이 나왔..
https://www.acmicpc.net/problem/1431 1431번: 시리얼 번호 첫째 줄에 기타의 개수 N이 주어진다. N은 1,000보다 작거나 같다. 둘째 줄부터 N개의 줄에 시리얼 번호가 하나씩 주어진다. 시리얼 번호의 길이는 최..
큐는 뒤에서 데이터의 입력, 앞에서 데이터 삭제가 일어나는 자료구조이다. 데이터의 접근을 큐에 꼭대기와 바닥에서 일어나게 함으로 자료의 접근을 제한한다고 할 수 있다. 큐는 오직 인큐와 디큐를 이용하여 자..
https://www.acmicpc.net/problem/1296 1296번: 데이트 첫째 줄에 오민식의 영어 이름이 주어진다. 둘째 줄에는 좋아하는 여자가 몇 명인지 N이 주어지고, 셋째 줄부터 N개의 줄에 여자의 이름이 하나 씩 주어진다..
https://www.acmicpc.net/problem/1296 1296번: 데이트 첫째 줄에 오민식의 영어 이름이 주어진다. 둘째 줄에는 좋아하는 여자가 몇 명인지 N이 주어지고, 셋째 줄부터 N개의 줄에 여자의 이름이 하나 씩 주어진다..
https://www.acmicpc.net/problem/1956 1956번: 운동 첫째 줄에 V와 E가 빈칸을 사이에 두고 주어진다. (2<=V<=400, 0<=E<=V*(V-1)) 다음 E개의 줄에는 각각 세 개의 정수 a, b, c가 주어진다. a번 마을에서 b번..
https://www.acmicpc.net/problem/4963 4963번: 섬의 개수 문제 정사각형으로 이루어져 있는 섬과 바다 지도가 주어진다. 섬의 개수를 세는 프로그램을 작성하시오. 한 정사각형과 가로, 세로 또는 대각선으로 연..
절차 지향 프로그래밍이란 위에서 부터 아래로 프로그래밍이 순차적으로 실행되는 것을 말한다. 프로그래머들은 절차지향 방식을 사용하면서 비효율 적인 면을 느끼게 되었다. 첫번째는 동일한 작업을 하는 프로그..
https://www.acmicpc.net/problem/1966 1966번: 프린터 큐 문제 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저..
연결리스트는 노드들이 모여서 다음 데이터를 가리키는 형태로 구성되어 있다. 각각의 노드는 노드가 가지고 있는 데이터와 다음 노드를 가리키는 포인터가 모여서 구성된다. 배열과 달리 연결리스트는 인덱스가..
https://www.acmicpc.net/problem/1057 1057번: 토너먼트 김지민은 N명이 참가하는 스타 토너먼트에 진출했다. 토너먼트는 다음과 같이 진행된다. 일단 N명의 참가자는 번호가 1번부터 N번까지 배정받는다. 그러고..
https://www.acmicpc.net/problem/1333 1333번: 부재중 전화 첫째 줄에 N, L, D가 공백을 사이에 두고 주어진다. 모든 수는 1,000보다 작거나 같은 자연수이다. www.acmicpc.net 노래가 재생되는 도중에 전화가 울..
스택은 꼭대기에서 데이터의 입출력이 일어나는 자료구조이다. 데이터의 접근을 스택 꼭대기에서만 일어나게 함으로 자료의 접근을 제한한다고 할 수 있다. 스택은 오직 푸쉬와 팝 연산을 이용하여 자료의 갱신이..
https://www.acmicpc.net/problem/1613 1613번: 역사 첫째 줄에 첫 줄에 사건의 개수 n(400 이하의 자연수)과 알고 있는 사건의 전후 관계의 개수 k(50,000 이하의 자연수)가 주어진다. 다음 k줄에는 전후 관계를..
같은 자료형을 여러개 묶어 사용하는 것을 배열이라고 한다. 1차원 배열은 다음과 같이 구성된다. 각 원소의 접근하려면 []연산자를 사용하는데 항상 배열의 시작은 0임을 명심해야한다. ex.) int[] mat = new int..
https://www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄..
https://www.acmicpc.net/problem/1238 1238번: 파티 문제 N개의 숫자로 구분된 각각의 마을에 한 명의 학생이 살고 있다. 어느 날 이 N명의 학생이 X (1 ≤ X ≤ N)번 마을에 모여서 파티를 벌이기로 했다...
제어문은 사용자가 원하는 조건에 해당하는 경우 특정 명령을 수행하고 싶을 때 사용한다. 제어문의 구성으로는 if문과 switch문이 있다. 우선 if문을 알아보자. if문의 구성은 다음과 같다. if(원하는 조건) { 조..
자바의 연산자는 다른 언어의 연산자와 똑같이 사용한다. 한가지 유의해야 할 점은 전위 연산자와 후위 연산자의 사용시 차이점이다. 전위 연산자와 후위 연산자가 단독으로 사용할 시 결과값이 같지만 다른 기능..
https://www.acmicpc.net/problem/15953 15953번: 상금 헌터 첫 번째 줄에 제이지가 상상력을 발휘하여 가정한 횟수 T(1 ≤ T ≤ 1,000)가 주어진다. 다음 T개 줄에는 한 줄에 하나씩 제이지가 해본 가정에 대..
프로그래밍의 기초인 자료형에 대해 알아보자 자바는 크게 기초자료형과 객체 자료형이 존재한다. 기초자료형은 java의 이미 존재하는 데이터 타입이다. 객체 자료형은 여러가지 데이터들이 모여있는 데이터로 기..
https://www.acmicpc.net/problem/9461 9461번: 파도반 수열 문제 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼..
웹 개발을 공부하기 앞서서 자바를 공부하기로 하였다. 자바는 1990년대 말 인터넷의 등장으로 사람들의 관심을 얻기 시작하였다. 자바의 특징은 다음과 같다. 1. 자바는 Virtual Machine이 있어 운영체제의 영향..
https://www.acmicpc.net/problem/1449 1449번: 수리공 항승 첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연..
https://www.acmicpc.net/problem/5622 5622번: 다이얼 문제 상근이의 할머니는 아래 그림과 같이 오래된 다이얼 전화기를 사용한다. 전화를 걸고 싶은 번호가 있다면, 숫자를 하나를 누른 다음에 금속 핀이 있는..
https://www.acmicpc.net/problem/3986 3986번: 좋은 단어 문제 이번 계절학기에 심리학 개론을 수강 중인 평석이는 오늘 자정까지 보고서를 제출해야 한다. 보고서 작성이 너무 지루했던 평석이는 노트북에 엎드..
https://www.acmicpc.net/problem/2870 2870번: 수학숙제 문제 상근이는 수학시간에 딴 짓을 하다가 선생님께 걸렸다. 선생님은 상근이에게 이번 주말동안 반성하라며 엄청난 숙제를 내주었다. 선생님이 상근이에..
https://www.acmicpc.net/problem/17213 17213번: 과일 서리 민건이네 과일 농장은 N가지 종류의 과일을 재배하는 중이다. 평소 민건이에게 앙심을 품고 있던 지환이는 민건이를 골탕 먹이기 위하여 민건이네 과일..
https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들..
https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마..
https://www.acmicpc.net/problem/2012 2012번: 등수 매기기 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 500,000) 둘째 줄부터 N개의 줄에 걸쳐 각 사람의 예상 등수가 순서대로 주어진다. 예상 등수는 500,0..
https://www.acmicpc.net/problem/1389 1389번: 케빈 베이컨의 6단계 법칙 첫째 줄에 유저의 수 N (2 ≤ N ≤ 100)과 친구 관계의 수 M (1 ≤ M ≤ 5,000)이 주어진다. 둘째 줄부터 M개의 줄에는 친구 관..