목록전체 글 (752)
쌓고 쌓다
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/YmX7z/btrorOWztSt/WGKoxTX6xIpFD6s2Vzz1sK/img.png)
생성자 객체의 생성과 동시에 초기화를 위해 실행되는 메소드이다. 생성자 선언 방법 class Person { public String name; public int age; public Person() { } } 위와 같이 class 안에 클래스의 이름과 동일하고, 반환값,매개변수가 없는 메소드를 만들면 된다. 반환값이 있을경우 컴파일 에러를 일으킨다. 굳이 생성자를 작성하지 않아도 위와 같은 기본 생성자(디폴트 생성자)는 컴파일러가 알아서 작성해주고 우리눈에는 보이지 않게 해준다. public void Person() // 컴파일 에러 { //코드 } 예시 class Person { public String name; public int age; public Person() { name = "기본 이름..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/v5HNA/btrorAYxhoO/TtC7ZIgUFUzlUbAxeBXP70/img.png)
클래스 클래스는 객체를 만들어 내기 위한 설계도, 틀이다. 객체 객체는 클래스를 이용해 생성된 것인데, 클래스가 붕어빵 틀이라면 객체는 틀을 이용해 만든 붕어빵이라고 할 수 있다. 객체를 클래스의 인스턴스(instance)라고 부른다. 사람이 클래스라면 옆집 이웃, 형, 부모님, 친구 등은 객체로 보며 각 객체마다 모두 동일하게 공유하는 속성이 있지만 각자 구분되는 나이, 이름 등 다른 값을 가지기도 한다. 클래스의 선언 public class Person { public String name; public int age; } 객체의 생성 Person person = new Person(); Person이라는 클래스를 이용해 person이라는 객체를 생성을 할 때 new연산자를 이용한다. C++과 달리 ..
https://www.acmicpc.net/problem/2210 2210번: 숫자판 점프 111111, 111112, 111121, 111211, 111212, 112111, 112121, 121111, 121112, 121211, 121212, 211111, 211121, 212111, 212121 이 가능한 경우들이다. www.acmicpc.net #include #include #include using namespace std; string arr[5][5]; bool visit[1000000]; int side[4][2] = { {-1,0},{1,0},{0,-1},{0,1} }; int res = 0; void DFS(int y, int x, int cnt, string str) { if (c..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bGXB4P/btrolTiVPjZ/LFkygiDsaIBXA0LsBFUDyk/img.png)
저는 아래와 같은 반목문밖에 사용할줄 몰랐는데~ 자바를 공부하면서 for-each문이 존재하는걸 알았습니다~ int sum=0; int arr[]= {1,2,3,4,5}; for(int i=0;i
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dBGqyW/btrohUiyRqs/NA8sONhKBq6HwTTLBMwLbK/img.png)
예외(Exception) 문법에 맞지 않는 코드는 컴파일러에 의해 걸러낼 수 있지만, 사용자의 잘못된 입력 또는 배열의 사용 등 예기치 못한 상황이 발생하는데 try-catch를 사용하여 제어를 할 수 있다. 예외 처리 방법 ( try - catch finally ) try { 예외가 발생 가능할만한 코드를 이곳에 배치한다. } catch(예외 타입){ 예외 타입과 일치하는 예외가 발생시 실행하는 코드 } // 이 아래의 finally 부분은 생략이 가능하다. finally{ 예외 발생 여부랑 상관 없이 무조건 실행하는 코드 } try 블록 안에서 코드를 실행하다 예외가 발생 즉시 해당하는 catch 블록으로 바로 이동한다. 예외 처리 예시 int arr[]= new int[5]; try{ arr[0] ..
https://www.acmicpc.net/problem/17472 17472번: 다리 만들기 2 첫째 줄에 지도의 세로 크기 N과 가로 크기 M이 주어진다. 둘째 줄부터 N개의 줄에 지도의 정보가 주어진다. 각 줄은 M개의 수로 이루어져 있으며, 수는 0 또는 1이다. 0은 바다, 1은 땅을 의미한다. www.acmicpc.net #include #include #include #include #include using namespace std; queue q; // 넘버링에 BFS 쓸것이므로 큐 필요 vector v; // 땅이면 모두 담음 vector bridge; // 모든 다리 간선을 담을것 int arr[10][10]; // 입력 받은 배열 int parent[7]; // 부모..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/qNbXX/btroeAKWbzM/UTfH8PlDQ0DonhtGg5kib0/img.png)
* 일차원 배열 선언 및 생성 방법 int arr[] = new int[10]; int[] arr = new int[10]; 둘 다 동일한 선언 방법입니다. 자바에서의 배열 생성은 C/C++과 달리 두 단계가 존재합니다. 1. 배열에 대한 레퍼런스 변수 선언 배열 선언 시 []에 크기를 지정해선 안됩니다. int arr[]; // 정상 작동 int arr[5]; // 컴파일 오류 2. 배열 생성 초기화 방법 1. 선언과 동시에 초기화 int arr[] = {1,2,3,4,5}; 2. for문을 이용한 초기화 여기서 알아야할게 자바에서 배열을 객체로 다룸으로써, 배열의 크기 값을 가진 length 필드가 존재한다는 꿀팁이다. int arr[] = new int[5]; for(int i=0;i
https://www.acmicpc.net/problem/18111 18111번: 마인크래프트 팀 레드시프트는 대회 준비를 하다가 지루해져서 샌드박스 게임인 ‘마인크래프트’를 켰다. 마인크래프트는 1 × 1 × 1(세로, 가로, 높이) 크기의 블록들로 이루어진 3차원 세계에서 자유롭게 www.acmicpc.net 모든 높이 ( 0~256 )에 대해 브루트 포스를 진행해도 정답은 처리가 되는 거 같습니다. 입력받은 최소높이~최대높이에 대해 땅 고르기 작업을 진행해서 최소 시간과 높이를 구하면 됩니다. 먼저 solve함수에서 만들 높이에 대해 높은 땅을 먼저 깎아주고 깎은 블럭 개수만큼 인벤토리에 담고, 시간을 더해줍니다. 그리고 높이에 대해 낮은 땅들을 올려주는 작업을 해주면 됩니다. 이에 남은 블럭이 0..