전체 글 345

[JAVA] 백준 1018 체스판 다시 칠하기_부르트포스

https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 접근 : - 체스판이 칠해질 수 있는 경우의 수는 검은색(B)으로 시작하는 경우와 흰색(W)으로 시작하는 경우로 나눌 수 있다. - 또한 8X8의 크기를 가질 수 있고, N / M 이 각각 8 이상의 크기를 가질 수 있다. - 그러므로 8 X 8 의 크기로 나누어 이동하면서 각각의 경우의 최소의 다시 칠하는 경우의 수를 계산한다. - 0.0 을 기준으로 x, y를 각각 1씩 offset을 ..

JAVA/Coding Test 2023.02.27

JAVA 콜렉션 프레임워크( Collection framework)

1. Collection 프레임워크란? 콜렉션 프레임워크는 데이터를 편리하게 관리하기 위한 기능을 제공한다. C에서 배열을 사용하다 보면 실제로 필요한 기능을 구현하기 위해서는 많은 부분을 기계적인 접근 방법을 사용해야한다. 그러므로 콜렉션 프레임워크를 사용하면 개발자의 논리적인 데이터의 움직임을 좀 더 쉽게 코드로 구현할 수 있다. 2. Collection framework 의 구성 콜렉션 프레임워크는 크게 List, Set, Map 클래스가 있다. List는 항상 크기가 정해져 있는 배열을 가변적으로 사용할 수 있게 해준다. List의 특징은 순서가 정해져 있으며 데이터 중복이 가능하다. Set은 순서를 유지하지 않으며 데이터 중복이 불가능 하다. Map은 순서를 유지하지 않고 키의 값은 중복이 불가..

JAVA/Language 2022.08.26

JAVA Array (배열)

1. java 배열이란? 같은 type의 변수를 하나로 묶어 다수의 변수를 프로그램 적으로 손쉽게 다룰 수 있게 하는 문법 변수 100개를 사용하기 위해서는 배열을 사용하지 않으면 많은 노력이 필요하지만 반복문과 배열을 활용하면 쉽게 사용할 수 있다. 추가설명> 과거 단순한 메모리를 이용한 칩에서는 메모리를 순차적으로 접근하는 것이 성능이 조금더 뛰어났지만, RAM을 사용한 이후로 부터는 위치와 관계없는 속도를 가지게 되었고 실제 컴파일러에서 RAM을 활용하기에 배열을 사용하지 않은 코드와 사용한 코드는 거의 같은 방식으로 동작한다.(성능 같음) 2. 배열의 선언/생성 배열의 선언과 생성은 다음과 같이 한다. 선언 : 타입[] 변수이름; 또는 타입 변수이름[]; 생성 : 변수이름 = new 타입[길이];..

JAVA/Language 2022.08.20

JAVA 반복문( for, while, do - while )

1. 반복문이란? 반복문이란 제어문의 한 종류로 특정한 프로세스(코드)가 반복적으로 수행할때 사용한다. 반복문의 종류로는 for, while, do - while 문이 있다. 2. for 문 for 문은 특정한 횟수를 반복적으로 수행하거나 일정한 step(flag를 사용하여 횟수를 이용하면 좋은 코드) 을 가질 때, 유용하다. for(int i = 0; i for each 문 배열과 컬랙션의 값을 한개씩 꺼내와 사용하는 경우 for ..

JAVA/Language 2022.08.15

JAVA 조건문 (if, else, switch)

1. 제어문이란? 제어문이란 특별한 조건에 의해서 순차적으로 진행되는 프로그램의 흐름을 변경하는 것을 의미한다. 제어문에는 조건문과 반복문이 있다. (반복문에 대해서는 다음 포스팅에서 설명) 2. 조건문 조건문은 if, switch 문이 있으며 조건이 명확하게 정해져 있는 경우 switch문을 사용하고 범위를 지정하는 경우 if 문을 사용한다. if 문은 예상하지 못하는 경우(값)이 참으로 되어 런타임 오류를 일으킬 수 있으므로 범위를 정확하게 규정하는 것이 좋고 확률적으로 많이 발생하는 조건을 앞쪽으로 구성하는 것이 좋다.(프로그램 속도 향상) - if 문 if 문은 조건이 참이 될 경우 특정 분기점으로 이동하여 명령을 수행하고 다시 원래의 위치로 돌아간다. if(조건식) { 참일 경우 실행할 코드 }..

JAVA/Language 2022.08.15